您好在我们的网站上,我们遇到的问题就像我们输入没有www的网址一样。 example.com/xyz
在这种情况下,重定向后会转换为www.example.com/?url=xyz
,但应该重定向到以下内容:www.example.com/xyz
所以我们得到额外的?url= in URL
我们在htaccess文件中使用代码将非www url重定向到www。 htaccess文件中的重定向代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
我们也试过这段代码但不行:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
</IfModule>
答案 0 :(得分:0)
尝试在路由规则之前放置重定向规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>