我目前正在使用重写所有 URL 的 CMS,目前我有一个这样的 URL:
http://www.domain.com/folder/?user=user1
我希望将其重写为: index.php?r=search&term=$1
像这样的东西会起作用吗?
RewriteRule ^/?user=(.*) index.php?r=search&term=$1 [L]
好像给我添麻烦了。有什么建议么?
我目前正在使用重写所有 URL 的 CMS,目前我有一个这样的 URL:
http://www.domain.com/folder/?user=user1
我希望将其重写为: index.php?r=search&term=$1
像这样的东西会起作用吗?
RewriteRule ^/?user=(.*) index.php?r=search&term=$1 [L]
好像给我添麻烦了。有什么建议么?
查询字符串不是 URI 路径的一部分,在规则中测试它。它位于 QUERY_STRING 变量中。
你可以试试这个:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} user=([^/]+)/? [NC]
RewriteRule ^folder/? /index.php?r=search&term=%1 [L,NC]
尝试(未测试)
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^folder1/?user=(.*)$ index.php?r=search&term=$1 [R=301,L]