我遇到这么简单的问题。
在我们的网站上,我们有一个分页器,它与GET变量“p”一起使用(p = 1 - 是第一页,p = 2 - 秒等等。)
我不希望脚本考虑此变量的值1(p = 1)。所以我有一个查询字符串,如:
http://www.mysite.ru/mypage/some_page2?p=1
并希望通过 htaccess 将用户重定向到页面:
http://www.mysite.ru/mypage/some_page2
如果htaccess规则处理不仅值“1”,而且“”,“bla-bla-bla”就像
那样会很好http://www.mysite.ru/mypage/some_page2?p=$#^&*_not_right_value
http://www.mysite.ru/mypage/some_page2?p=
感谢您的关注。
UPD:
我的案例的工作解决方案:
RewriteCond %{QUERY_STRING} ^p=1$
RewriteRule ^(.*)$ /$1? [R,L]
答案 0 :(得分:1)
通过.htaccess查询字符串操作通常只能通过mod_rewrite完成。我没有测试过,但以下内容应该与您的需求接近。
RewriteEngine on
RewriteCond %{QUERY_STRING} p=1 [OR]
RewriteCond %{QUERY_STRING} p=[^0-9]
RewriteRule (.*) http://www.mysite.ru/$1 [R, L]
第二个条件只是测试p =后跟一个数字。一旦测试,规则可以扩展到测试p后只存在一个数字(即,现在p = 2garbage可以工作)但最好从基础开始。
答案 1 :(得分:0)
我的案例的工作解决方案:
RewriteCond %{QUERY_STRING} ^p=1$
RewriteRule ^(.*)$ /$1? [R,L]