2

私はこのようにフレンドリーなURLを使用しようとしています:

RewriteRule ^index/([1-9]{1,5})$ /index.php?id=$1 [L]
RewriteRule ^contact/([1-9]{1,5})$ /contact.php?id=$1 [L]

しかし、これは機能していません。正規表現でファイルの名前を使用しているためだと思います。

これはうまくいきます:

RewriteRule ^home/([1-9]{1,5})$ /index.php?id=$1 [L]
RewriteRule ^emailus/([1-9]{1,5})$ /contact.php?id=$1 [L]

フライドリーの URL でファイルの名前を使用できないことを知りませんでした。誰かこの設定を変更する方法を知っていますか? それ以外の場合は、ファイルのすべての名前を変更する必要があります。

4

1 に答える 1

1

これは、Multiviewsと mod_negotiation が望ましくないときに醜い頭をもたげているケースのように思えます。

おそらく何が起こっているかというと、mod_negotiation がリクエストを見て/contact/123、ファイルがあることに気づき、/contact.phpすぐにそのファイルを提供して mod_rewrite を完全にバイパスすることです。オフにする必要があります。

Options -Multiviews
于 2013-10-09T20:07:43.607 に答える