如果uri中有问号(?),则重定向到404

时间:2014-09-10 03:32:18

标签: apache .htaccess

如果问题例子有问题,如果我使用这个url / p = 1它匹配,/ p = a它不匹配但是/?p = a或之后的任何东西?它会匹配。你能告诉我怎么做吗.htaccess,谢谢

 Options +FollowSymLinks
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^\\?p=[0-9]+$ /index.php [NC,L,QSA]

1 个答案:

答案 0 :(得分:0)

您无法与RewriteRule中的查询字符串进行匹配。只有URI可以从那里匹配。如果您需要匹配它,请使用%{QUERY_STRING}变量:

 Options +FollowSymLinks
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{QUERY_STRING} ^p=[0-9]+$
 RewriteRule ^$ /index.php [NC,L,QSA]