次の設定を考えると、私はうまくいかない mod_rewrite をしたいと思います:
共有ホスティング環境のディレクトリを指す「example.org」などのドメインがあります。たとえばexample/
、次のファイル構造があります。
example/
index.php
.htaccess
のような URLexample.org/test
を に書き換える必要がありますexample.org/index.php?p=test
。私が思いついたのは次のとおりです。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)$ index.php?p=$1 [L,QSA]
残念ながら、たとえばexample.org/test
Firefox で開くと、次のエラーが発生します。
ページが正しくリダイレクトされない
Firefox は、サーバーがこのアドレスへのリクエストを決して完了しない方法でリダイレクトしていることを検出しました。
- この問題は、Cookie の受け入れを無効にするか拒否することによって発生することがあります。
ただし、一致する部分を次のようにプレフィックスすると機能します。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^prefix/([a-z]+)$ index.php?p=$1 [L,QSA]
CSS や JavaScript などの追加リソースが正しく参照されていませんが、eg を開くことができexample.org/prefix/test
ます。index.php?p=test
誰が助けることができますか?