1

次のように .htaccess を設定しています。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)/?$ profile.php?aid=$1 [L,QSA]

これにより、ユーザー プロファイルは完全に正常に取得されますが、ユーザー名がたとえば「apple & pears」の場合、404 ページが見つかりません。これは、アンパサンドのエンコードの問題によるものだと思います。私が調査したところ、B フラグがこの問題を解決することがわかりましたが、これが導入されたとき、私のホストの Apache バージョンは 2.2.7 未満でした。

これを複製する方法はありますか?

4

1 に答える 1

1

次のような 2 つの個別のルールがあります。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^&]+)&([^/]+)/?$ /index.php?aid=$1\%26$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /index.php?aid=$1 [L,QSA]
于 2013-07-17T14:25:40.710 に答える