まず、スタックオーバーフローに関する私の最初の投稿であることをお知らせしたいと思います。何か間違っていると私に知らせたいと思います。URLからサブフォルダを隠す
私はコントローラとテンプレートのようなフォルダを含むPHPスクリプトを構築しようとしています。どちらもリダイレクトされており、その中にphpファイルが含まれていなければなりません。すべてがルートドメインディレクトリのインデックスからアクセス可能です。だから私の質問は、どのようにURLから隠すことができるかです。すなわち、domain.com/"controller"/activate.php
またはdomain.com/"templates"/login.php
です。
私はlogin.php
を "templates"フォルダの中にインクルードすると、indexのいくつかのパラメータ(if
)にインクルードしていることをお知らせします。
.htaccess
を投稿して、そこでのプロセスを見てみましょう。私はすでに過去に「テンプレート」フォルダを隠そうとしていました。しかし、.htaccessでコーディングすることで、サブディレクトリにアクセスできなくなりました。だからこそ私はコードを削除しなければならなかったのですが、そのコードは私の場合の解決策ではなかったからです。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/
ErrorDocument 404 /templates/404
# To externally redirect /dir/abc.php to /dir/abc
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
RewriteRule^/%1 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [QSA,NC,L]
</IfModule>
AddOutputFilterByTypeディレクティブDEFLATEテキスト/テキストテキスト/ HTMLテキスト/プレーンテキスト/ XMLテキスト/ CSSのアプリケーション/ X-javascriptのアプリケーション/ javascriptの
今、私の.htaccessは、そのパラメータを持ってまで、 urlとcache-Gzip圧縮方式で.php拡張子を隠します。すべての助けがそれを感謝し、間違って、正しいでしょう!
これはまさに私が意味するものではありません。もっと私があなたにフォルダの詳細とその仕組みを教えてくれるように助けてください。したがって、 –
ルートドメインディレクトリhttpd hosting: ** ** assets **(js、css、img、within foldersを含むフォルダ) **コントローラ**(フォルダ内のクラス、関数、およびdb接続を含むphpファイルを含むフォルダそれらのドメインをチェックするphpファイルを含むフォルダ**テンプレート**(ログイン、アクティベーションなどのPHPファイルを含むフォルダ)** ** languages ** **。htaccess **(上記の特定のコードを含むファイル) **インデックス**(テンプレートフォルダ内にあるログインphpファイルを含むPHPファイル) ' –
login.phpとprofil.phpを呼び出します(ステートメントがtrueの場合)。したがって、URLが最初にdomain.comを表示し、そのステートメントが真であれば、profilにリダイレクトされ、urlはdomain.com/templates/profil.phpで変更されます。だから、私はページを "正しく"呼び出して表示する方法の2つの方法の真ん中にいる: 1).htaccessを使って、サブフォルダを気にして隠す。 2)関数とクラスを含むphpファイルを使用して、コントローラのフォルダにあるすべてのインデックスを表示します。ページが含まれていても構いません。domain.com/something.php –