1

URLを変更したい

http://www.abc.com/search_result.php?id=110

to

http://www.abc.com/110

これが私が使用しているコードです。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search_result\.php\?id=([^\s]+) [NC]
RewriteRule ^ http://abc.com/%1? [R=301,L]

しかし、問題は、URL がhttp://www.abc.com/110 に変更されましたが、ページは同じままです。

誰か助けてください!

もう一つ聞きたいことがあります。元の URL にさらにパラメーターを追加したいとします。たとえば、

http://www.abc.com/search_result.php?id=110&name=amit

次に、結果を得るために何をすべきか。

http://www.abc.com/i-am-amit

ありがとう !

4

1 に答える 1

1

search_result.php「から実際のコンテンツを表示するためにも、内部書き換えルールが必要です。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search_result\.php\?id=([^&\s]+)\s [NC]
RewriteRule ^ http://abc.com/%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ search_result.php?id=$1 [NC,L,QSA]

また、http://www.abc.com/search_result.php?id=110&name=amitきれいなURLをどのようにしたいですか? 次のようなきれいな URL では、ID と名前の両方が必要になることに注意してください。

http://www.abc.com/110/amit

それはあなたが望む方法ですか?

于 2013-10-03T06:08:26.843 に答える