私の問題の背景を少し説明します。PHP CMS の静的な HTML5/CSS3 プロトタイプに取り組んでいます。私が望んでいることの 1 つは、クリーンな URL を使用することです。私は最初に次のようなものを持っていました:
localhost:8888/file.php
そしてそれがしたかった:
localhost:8888/file
またはトレイルスラッシュなしlocalhost:8888/file
Stackoverflow で簡単な検索を行ったところ、この問題に関するいくつかの結果が見つかりました。親切にもこれを使用して仕事をしました。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*?)/?$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*?)/?$ $1.php
RewriteRule ^(.*?)/?$ $1.php
このアプローチの問題は、サイト/投稿など、CMS 構造に深いレベルを設定したい場合です。mod_rewrite がなければ、../images/ から ../../images/ などのように機能させるために、フォルダーを作成し、コードに大幅な変更を加える必要があるため、そのソリューションにブーイングします。それを機能させるには mod_rewrite を使用する必要があります。
さらに、そのコードの mod_rewrite チャンクはフォルダーのものでも機能しないため、ここで検索を開始して解決策を見つけたので/level1_level2_levelx.php
、/level1/level2/level3/
または/level1/level2/level3
. 私は多くの方法で検索しましたが、これに対する正しい答えが見つかりません。
皆さん、ありがとうございました、
PD: MAMP を使用しています。