2

.htaccess について質問があります。基本的に、私の .htaccess は、新しく作成したサブ ドメインをメイン サイトにリダイレクトしていますが、そうしたくありません。私のドメインが「www.beans.com」と呼ばれ、サブドメインが「shop.beans.com」であると仮定しましょpublic_html/shop/。.htaccess は次のとおりです。

DirectoryIndex index.php enmain.php

ErrorDocument 404 /404.html

## EXPIRES CACHING ##

ExpiresActive On
ExpiresByType image/jpg "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/ico "access plus 1 year"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType text/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType text/xml "access plus 2 hours" 
ExpiresDefault "access plus 1 hour"

## EXPIRES CACHING ##

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

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]*/)*index\.(html?|php)(\?[^\ ]*)?\ HTTP/
    RewriteRule ^(([^/]*/)*)index\.(html?|php)$  http://www.beans.com/$1  [R=301,L]
# Start CloudFlare:beans.com rewrite. Do not Edit 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^beans.com 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
# End CloudFlare rewrite. 

要約すると、「shop.beans.com」をブラウズするときに「www.beans.com」にリダイレクトされないようにしたいと思います (現在発生しています)。

どうすればいいですか?

4

2 に答える 2

4

まず、同じことを行う 2 つのルール、つまり を追加しwww.ます。

1 - このルールを削除します:

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

2 - 次に、最後のルールを次のように変更します。

RewriteCond %{HTTP_HOST} ^beans\.com$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
于 2013-10-10T21:12:13.163 に答える
3

.htaccess ファイルには、www なしで開いているすべての URL を www 付きにリダイレクトするように設定するルールが必要です。このファイルを変更する必要はありません。

これを行う必要があります:

サブドメインに .htaccess ファイルを作成し、次のコードを追加します。

RewriteEngine on
RewriteBase /

このファイルを保存します。これで、すべてが適切に機能します。

于 2013-10-29T13:38:53.523 に答える