我的htaccess文件中有以下代码
RewriteRule ^post/(.*)$ index.php?p=$1 [QSA,R]
这几乎可以正常工作,但在重写后将查询字符串附加到url中。我不想要这个。如果我删除R-Flag,即使我删除了两个标志,它也不会工作。
我想覆盖
/post/123 => index.php?p=123
/page/123 => index.php?page_id=123
/category/123 => index.php?cat=123
但在浏览器网址中显示/post/123
等
答案 0 :(得分:0)
如果您不希望更改网址,则无法重定向[R]
。
试试这个:
RewriteRule ^post/(.*)$ index.php?p=$1 [L,QSA]
RewriteRule ^page/(.*)$ index.php?page_id=$1 [L,QSA]
RewriteRule ^category/(.*)$ index.php?cat=$1 [L,QSA]
您还应附加[L]
标志,以终止处理更多规则。