如果问题例子有问题,如果我使用这个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]
答案 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]