.htaccess不重定向特定单词
我想改变方向 domain.com/blabla到domain.com/index.php?q=blabla domain.com/blabla/2到domain.com/index.php?q=blabla&p=2 我用了这个:.htaccess不重定向特定单词,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我想改变方向 domain.com/blabla到domain.com/index.php?q=blabla domain.com/blabla/2到domain.com/index.php?q=blabla&p=2 我用了这个: RewriteRule ^([a-zA-Z0-9\-]+)/([0-9]+)$ index.php?q=$1&p=$2 [L,NC] RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?q=$1 [L,NC] 但是我不需要重定向
RewriteRule ^([a-zA-Z0-9\-]+)/([0-9]+)$ index.php?q=$1&p=$2 [L,NC]
RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?q=$1 [L,NC]
但是我不需要重定向一些单词。例如:
将domain.com/user重定向到domain.com/index.php?q=user正常
但它正在将domain.com/admin重定向到domain.com/admin/?q=admin
我不想发生这种事。顺便说一句,有一个名为admin的文件夹。我要说的具体单词是文件夹。但是,如果HTTAccess有任何更改,请考虑这些词不应该是文件夹,我不知道 < P>在这些规则之前您可以有一个排除规则:
# ignore these URIs
RewriteRule ^(admin|something)(/|$) - [L,NC]
RewriteRule ^([a-zA-Z0-9-]+)/([0-9]+)$ index.php?q=$1&p=$2 [L,QSA]
RewriteRule ^([a-zA-Z0-9-]+)$ index.php?q=$1 [L,QSA]
第一,你为什么把它们改成QSA?第二,我不知道发生了什么,但它只适用于第二个单词。那没有道理。我在当地与wamp顺便说一句。NC是不需要的,因为你已经在你的正则表达式A-Za-z。QSA用于保留原始查询字符串。对于哪个URL无效?根据您的代码domain.com/admin仍然重定向。domain.com/something不是。我不知道它一定是关于服务器或浏览器缓存等。我会在重新启动后重试。否。那甚至不是一个真正的文件夹。这只是一个例子。我已重新启动wamp,尝试从另一个浏览器。问题解决了。必须是关于缓存的,对吗?是的,这些URL也缓存在浏览器中