http://www.domain.com/folder/file?x=1&y=2
更改为:
http://www.domain.com/folder/file/1/2/
http://www.domain.com/folder/?x=1
更改为:
http://www.domain.com/folder/1/
我试过:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^folder/(.*)/$ folder/index.php?x=$1 [L]
RewriteRule ^folder/file/(.*)/(.*)/$ folder/file.php?x=$1&y=$2 [L]
但这行不通,有人知道为什么吗?
当我取出第一条规则时,我可以通过以下方式访问第二条规则:
http://www.domain.com/folder/1/2/
但不是:
http://www.domain.com/folder/file/1/2/
天哪,我希望我不会让任何正在阅读这篇文章的人感到困惑,哈哈,我希望它是有道理的
最佳答案
尝试
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^folder/file/(.*)/(.*)/ /folder/file.php?x=$1&y=$2 [L]
RewriteRule ^folder/(.*)/ /folder/index.php?x=$1 [L]
规则的顺序很重要。您应该始终将规则最多的那个放在第一位,因为您的方式是到达第一条规则然后停止,因为由于捕获 文件的
。 (.*)
它始终为真
关于url - SEO 友好的 URL (.htaccess),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504169/