1

私は構造化されたウェブサイトを持っています:

- root
  - .htaccess
  - wordpress installation
  - folder xxx
    - wordpress

私の .htaccess には、次のルールがあります。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

問題は、私が入ることができないことです:

www.mywebsite.it/xxx 

ループリダイレクトが発生するためです。ルールを消せばすべてうまくいく。どうすれば変更できますか? ユーザーが mywebsite.it/ または mywebsite.it/xxx と入力すると、www バージョンにリダイレクトされます。

私の .htaccess:

    <IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

どうもありがとう。

4

1 に答える 1

1

このルールは単独で機能しますが、Wordpress のものはそれを乗っ取っています。少し変更されたルール:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  1. これが行後の最初のルールであるRewriteEngine Onことを確認してくださいDOCUMENT_ROOT/.htaccess
  2. WP permalink structureサイトアドレスがあることを確認してください。www.そうしないと、WPは再び非wwwに送り返します
  3. .htaccessルートの下にある場合は、次の行の下に追加する必要がありますRewriteEngine On

    RewriteOptions Inherit
    

また、301 キャッシュを回避するために、別のブラウザーでテストします。

于 2013-09-28T12:32:32.407 に答える