我下面有一个htaccess文件,该文件将重写规则与静态301重定向结合在一起。
Options -MultiViews
Options +FollowSymlinks
RewriteEngine On
#ModRewrites
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^aboutus/$ aboutus.php
RewriteRule ^contact/$ contact.php
RewriteRule ^terms/$ terms.php
RewriteRule ^view/$ view.php
RewriteRule ^view/([^/]+)/ view.php?id=$1 [QSA]
RewriteRule ^group/([^/]+)/ group.php?id=$1 [QSA]
#PermanentRedirects
Redirect 301 /views/ http://www.example.com/view/
Redirect 301 /view/313/ http://www.example.com/view/251/
Redirect 301 /view/510/ http://www.example.com/view/251/
Redirect 301 /view/986/ http://www.example.com/view/251/
Redirect 301 /view/419/ http://www.example.com/view/251/
Redirect 301 /view/583/ http://www.example.com/view/251/
Redirect 301 /view/712/ http://www.example.com/view/251/
Redirect 301 /view/358/ http://www.example.com/view/251/
Redirect 301 /view/841/ http://www.example.com/view/251/
Redirect 301 /view/384/ http://www.example.com/view/251/
Redirect 301 /view/976/ http://www.example.com/view/251/
Redirect 301 /view/810/ http://www.example.com/view/188/
Redirect 301 /view/270/ http://www.example.com/view/188/
Redirect 301 /view/627/ http://www.example.com/view/188/
Redirect 301 /view/890/ http://www.example.com/view/188/
Redirect 301 /view/954/ http://www.example.com/view/188/
Redirect 301 /view/713/ http://www.example.com/view/188/
Redirect 301 /view/553/ http://www.example.com/view/188/
Redirect 301 /view/101/ http://www.example.com/view/188/
Redirect 301 /view/489/ http://www.example.com/view/188/
Redirect 301 /view/899/ http://www.example.com/group/2/
Redirect 301 /view/904/ http://www.example.com/group/2/
#ModRewrites下的页面工作正常。
但是,当我尝试访问#PermanentRedirects下的页面时,用于查看重定向的视图效果很好。但是,最后两行无法按我的预期工作。
http://example.com/view/904
它重定向到
http://example.com/group/2/?id=904
并最终显示404错误。另外,似乎QSA应用于此处,我不想这样做。我只想要一个简单的普通静态301重定向。
请帮助我,非常感谢。