我在httpd.conf中进行了以下设置:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /([^/]+) /?page=$1
RewriteCond %{QUERY_STRING} search=(.*)
RewriteRule (.*) /%1? [R=301]
当用户在“帮助”等搜索框中输入内容时,网址如下所示:
domain.com/help
像魅力一样。
但是,如果用户在“论坛”等搜索框中再次输入内容,则网址将如下所示:
域/帮助?搜索=论坛
我遗失了一些东西。我希望所有搜索查询都是:
domain.com/ {搜寻准则}
答案 0 :(得分:0)
更改规则的顺序,并在其他规则之前有301:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^search=([^&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /([^/]+)/?$ /?page=$1 [L,QSA]