0

ルート フォルダwww_root/( www.examle.com)にサイトがあります

あります.htaccess

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

またsubdomain.example.com、フォルダーにサブドメインがありますwww_root/subdomain。そしてあります.htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

ブラウザに入力するとwww.example.com/subdomain- wokringしかし、URLを次のように入力するとsubdomain.example.com- 機能しません(ホームページのみ)

Plsは助けてください、私が間違っていること。

ありがとう。

4

1 に答える 1

0

apacheVirtualHost機能を。に置き換えようとしmod_rewriteます。可能ですが、最適ではありません。VirtualHostの個別のドキュメントルートを使用して構成をセットアップすることを検討してくださいsubdomain.example.com

何らかの理由で使用を主張する場合mod_rewriteは、ルートフォルダで次のような構成を使用して使用できます(フォルダから.htaccessを削除するか、移動する必要があります)。.htaccesssubdomain

RewriteEngine on

# normalization of hostname
RewriteCond %{HTTP_HOST} =example.com [NC]
RewriteRule ^(.*)$ http://www.examle.com/$1 [R=301,L]

# config for www.example.com
RewriteCond %{HTTP_HOST} =www.example.com [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

# config for subdomain.example.com
RewriteCond %{HTTP_HOST} =subdomain.example.com [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ subdomain/index.php?q=$1 [L,QSA]

...しかし、繰り返しになりますが、VirtualHostはるかに優れたソリューションです。

于 2012-12-07T17:19:38.237 に答える