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