1

これは、共有ホスティングのルート ディレクトリにある .htaccess ファイルのコードです。

 RewriteEngine On 
 RewriteCond %{HTTP_HOST} !^www\. 
 RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
 RewriteCond %{REQUEST_FILENAME}!-f  
 RewriteCond %{REQUEST_FILENAME} !-d  
 RewriteRule ^([a-zA-Z0-9\-]+)?$ interest.php?interest=$1 [QSA,L] 
 RewriteRule ^([a-zA-Z0-9\_\-]+)?/$ interest.php?interest=$1 [QSA,L]

問題は、同じディレクトリに私のアドオン ドメインのフォルダーがあることです。それらにアクセスしようとすると、2 行目で問題が発生し、プライマリ ドメインにリダイレクトされます。.htaccess がルート フォルダーのみに影響し、そのサブ フォルダーには影響しないようにしたい。ここで他の同様の質問を読んで、それに応じて htaccess を変更しようとしましたが、問題は未解決のままでした。

例えば。そのリダイレクト

mysubdomain.mydomain.com

www.mydomain.com/mysubdomainfolder
4

2 に答える 2

1

最初のルールを次のようにします。

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

次に、ブラウザのキャッシュをクリアして、ブラウザを再起動します。

于 2013-02-27T16:01:32.757 に答える
0

.htaccess ファイルは、再帰的に適用するように設計されています。

リダイレクトが必要ない場合は RewriteEngine Off を使用して、アドオン ドメインに対応する各サブフォルダーに .htaccess を配置するか、必要な場合は別の書き換えルールを配置してみてください。

さらに、ルールに別の書き換え条件を追加することもできます。たとえば、アドオン ドメインが blah.com であるとします。

RewriteCond %{HTTP_HOST} !^(.*.)?blah.com

編集: 新しい書き換え条件を追加する必要があります RewriteCond %{HTTP_HOST} !^www.

Edit2: では、サブドメインです。その場合、基本的に、既知のサブドメインである場合は書き換えルールを適用しないように指定する書き換え条件を追加する必要があります。例えば:

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

これで、subdomain1.domain.com はリダイレクトされず (または subdomain2/3)、www.domain.com はリダイレクトされませんが、それ以外はリダイレクトされます。

于 2013-02-27T05:58:04.433 に答える