我最近重新编写了一个网站,我有以下一行,非常适合制作友好的网址。
RewriteRule ^mydir/([^/]+)/?$ /page.php?menu=mydir&vid=$1 [L,QSA]
但是,我发现有一些旧的链接,它们看起来完全不同,我也需要重写。
所以我试过了......
RewriteRule ^mydir/detail/\?id=([^/]+)?$ /page.php?menu=mydir&vid=$1 [L,QSA]
RewriteRule ^mydir/([^/]+)/?$ /page.php?menu=mydir&vid=$1 [L,QSA]
包含/detail/
的网址不会重写。有什么想法吗?
答案 0 :(得分:1)
您无法使用RewriteRule
匹配查询字符串。将您的规则更改为:
RewriteCond %{QUERY_STRING} ^id=([^&]+) [NC]
RewriteRule ^mydir/detail/?$ /page.php?menu=mydir&vid=%1 [L,QSA]
RewriteRule ^mydir/([^/]+)/?$ /page.php?menu=mydir&vid=$1 [L,QSA]