.htaccess重定向查询字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.htaccess重定向查询字符串相关的知识,希望对你有一定的参考价值。
这有点难以搜索,我找到了其他工作的例子,但基本上我有一个网址:
site.com/?page=test&id=3
我想重写为:site.com/test:3
'test'是页面,3是id。
对于相等的值,我有以下匹配:
RewriteCond %{QUERY_STRING} ^(w+)=(w+)$
RewriteRule ^/ /%1:%2?
但这仅适用于密钥和值,我可以使用什么正则表达式来选择密钥,%1和%2?
谢谢,
我的第二次尝试:(我只需要在index.php上)
RewriteCond %{QUERY_STRING} ^page=(w+)&id=([0-9]*)$
RewriteRule ^index.php$ /%1:%2**?** [R=302,L]
但是现在我发生了404错误:index.php / details:1
答案
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteCond %{THE_REQUEST} ?test=([^s&]+)&test2=([^s&]+) [NC]
RewriteRule ^/?$ /%1:%2? [R=302,L,NE]
RewriteRule ^([^:]+):([^/]+)/?$ /?test=$1&test2=$2 [L,QSA]
以上是关于.htaccess重定向查询字符串的主要内容,如果未能解决你的问题,请参考以下文章