我正在尝试进行简单的301重定向,但我似乎错过了一些东西
我们的想法是将myhost.com/crm/
重定向到www.myhost.com/crm/
。
所以我用Google搜索并提出:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
在我的root中运行得很好(所以在myhost.com上) 但是当把它放在我的crm子文件夹中时,它会失败(事实上它没有做任何事情):
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/crm/$1 [R=301,L]
</IfModule>
我有点困惑我在这里做错了什么。我是否将规则放在错误的.htaccess文件中?
我尝试过搜索stackoverflow但找不到适合我需要的答案。 (因为它不是crm.myhost.com)
答案 0 :(得分:0)
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/crm/$1 [R=301,L]
您希望您的重定向规则之前任何类型的路由规则:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/crm/$1 [R=301,L]
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]