こんにちは、非 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があります。