我有一个这样的RewriteRule:
RewriteRule ^thesection$ /sections.php [L]
RewriteRule ^thesection/(.*)$ /sections.php?show=$1 [L]
所以,如果我输入
domain.com/thesection
->效果很好但是!,如果我输入
domain.com/thesection/hello
,它将重定向到domain.com/thesection?show=hello
我不知道自己在做什么错,并且花了数小时来搜寻。请帮忙!
提前致谢
最佳答案
试试这个,让我知道
RewriteEngine On
RewriteRule ^thesection/?$ /sections.php [L,QSA]
RewriteRule ^thesection/([a-z0-9\-_]+)/?$ /sections.php?show=$1 [L,QSA]
这会将
domain.com/thesection/hello
重定向到sections.php?show=hello
QSA标志的含义是:
因此,您可以添加更多参数,例如:
http://www.domain.com/thesection/hello/?page=1
,它将输出:Array (
[show] => hello
[page] => 1
)
关于.htaccess - htaccess RewriteRule保留查询字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8444160/