2日間の苦労と約1ポンドの髪の減少、私は助けを求める時が来たと思います. 最近、プロジェクトをメインのサブディレクトリに移行したので、構造は次のようになります。
-application/
-index.php
-signup/
-index.php
-signup_set.php
-css/
-js/
すべての URL から「application/」を除外するために、mod_rewrite に自分の仕事をさせようとしています。ルート .htaccess で取得した場所は次のとおりです。
RewriteEngine On
#first round through, prepend 'application/' to request
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !^application
RewriteRule ^(.*)$ application/$1 [L]
#second round through, if the new url is not directory or file, append .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php [L]
私は regex/mod_rewrite についてよく理解していないかもしれませんが、これは実際には部分的に機能しているようです。部分的に。これに関する奇妙な部分は、「pretty url」(www/signup など) にルーティングすると、トップバーの URL が「application/」(www/application/signup など) を含むように物理的に書き換えられることです。どういうわけか、この「サイレント」書き換えプロセスはかなりうるさくなっています...何か提案はありますか? ルート ディレクトリを変更できることはわかっていますが、css/js ファイルを参照するコードを書き直す必要があります。何よりも興味があり、htaccess を試してみました。どんな助けでも大歓迎です!StackOverflow に感謝します。
PS私はWindows 7でApacheを実行しており、仮想ホストを使用しています(関連する場合)