2

私はファイルでそのようなリダイレクトコードを使用し.htaccessます:

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

私がタイプするとき:www.domain.com/file.phpそれはに転送して大丈夫ですdomain.com/file.php

入力すると:www.domain.com/folder/folder2リダイレクトされます:(domain.comfolder/folder2スラッシュなし)

どうすればこれを修正できますか?

4

1 に答える 1

0

なぜそれが起こっているのかわかりませんが、バニラのApache 2.2インストールでhtaccessファイルにそれらのルールを入れると、これらのルールはまったく機能しません. www.domain.comリクエストをdomain.comリクエストにリダイレクトしているだけのように見えるので、次のようにするだけです。

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

ルールを連鎖させて、ホストを URI パスに書き換える代わりに。

于 2012-08-09T19:49:55.700 に答える