【发布时间】:2018-07-26 03:19:16
【问题描述】:
我在配置重写规则时遇到问题。我需要将 mysite.com/blog/start 重定向到 anothersite.com/start ,重定向工作正常,问题是如果在来源网址:
- mysite.com/blog/start -> 到 anothersite.com/start(工作正常)
- mysite.com/blog/start/ -> 到 anothersite.com/start(工作正常)
- mysite.com/blog/start/?param=123 -> 到 anothersite.com/start(不工作)
这是 .htaccess 文件中的重写部分:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
#redirects
RewriteBase /
RewriteRule ^start$ http://anothersite.com/start [L]
RewriteRule ^blog/start$ http://anothersite.com/start [L,QSA]
...
...
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
【问题讨论】:
标签: apache redirect mod-rewrite server