0

您好,我正在尝试将非 www 重定向到 www。通常我用这段代码得到它

RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301]

但是我在我的 htaccess 上有这个,所以我遇到了问题。

# SEO URL Settings

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/index.php(.*)$ index.php$2

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/*$ index.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/find/(.+)$ index.php?_route_=$2 [QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^find/(.+)$ index.php?_route_=$1 [QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/admin(/*)$ admin/index.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/admin(.*)$ admin/$2

我知道我只需要将 www 添加到该规则中(也许)我尝试过但没有运气=(

问题:

我应该得到 www.example.com/user1/ 或 www.example.com/user2/ 我得到 www.example.com/user1/user1/user1/user1/user1/user1/user1/user1/ 错误

它在这种情况下很好用 example.com 到 www.example.com

我也无法登录到管理员 example.com/admin/ 使用 www 重定向到相同的 URL,但我从未登录 =(

解决方案: :::::::::

我加了这个

# REDIRECT HTTP://WWW TO HTTP://.
#RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

它的工作很棒在这里找到了它。:http://forum.opencart.com/viewtopic.php?t=57274

希望任何人都可以告诉我如何反转我刚刚添加的最后一条规则

所以所有页面都有www。

4

0 回答 0