2012-01-11 10 views
0

私のルートドメイン名はmain.comであると私は2つのアドオンドメイン持っている、と言うことができます:addon1.comaddon2.comを。私は自分のドメイン経由のWebサイトを表示して欲しいもの、複数のアドオンドメイン、1つのhtaccessファイル

www.main.com/show.php?domain=addon1.com 

しかし:

私のスクリプトはすでに準備ができていると私はこのように私のウェブサイトを見ることができます。私はaddon1.comを開いたときに、show.phpの出力を見たいと思っていますか?domain = addon1.com。アドオンドメインおよびそのディレクトリがあるとしても、これらの二つのドメインが追加されます。

main.com/addon1.com/ 
    main.com/addon2.com/ 

私は、ルートフォルダ(main.com/.htaccess)

Options +FollowSymLinks 
    RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^www\.addon1\.com$ [NC] 
    RewriteRule ^(.*)$ /show.php?domain=addon1.com&$1 

    RewriteCond %{HTTP_HOST} ^www\.addon2\.com$ [NC] 
    RewriteRule ^(.*)$ /show.php?domain=addon2.com&$1 

へのhtaccessファイルを書いたしかし、私は500を取得していますインターバルエラー。何かアドバイス?

ありがとうございます。

答えて

0

ルールはループしています。 /show.phpは、書き換えエンジンを経由して無期限にループしています。

RewriteCond %{HTTP_HOST} ^www\.addon1\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/show.php 
RewriteRule ^(.*)$ /show.php?domain=addon1.com&$1 

RewriteCond %{HTTP_HOST} ^www\.addon2\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/show.php 
RewriteRule ^(.*)$ /show.php?domain=addon2.com&$1 
+0

回答ありがとうございます。しかし、これは** main.com/addon1.com/show.php **をロードしようとしています、show.phpはルートフォルダ(main.com/show.php)にあります。 – Deniz

0

あなたが手助けする「でRewriteBase」を含めるために必要な:あなたは、彼らがループしないように条件を追加する必要があります。

# tell mod_rewrite to activate and give base for relative paths 
    Options +FollowSymLinks 
    RewriteEngine on 
    RewriteBase /

# for the active site in hosting root folder, 
# tell it not to look for a subfolder by skipping next rule 
    RewriteCond %{HTTP_HOST} ^(www\.)?main\.com [NC] 
    RewriteRule ^(.*)$   - [S=1] 

# the domain-name = sub-folder automation 
# thus addon-domain.com in /addon-domain(\.com)?/ 
    RewriteCond %{HTTP_HOST} ([^.]+)\.com 
    RewriteCond %{REQUEST_URI} !^/%1 
    RewriteRule ^(.*)$   %1/$1 [L] 

# to answer your question swap the above 
# domain-name = sub-folder automation for this rule 
    RewriteCond %{HTTP_HOST} ([^.]+)\.com$ [NC] 
    RewriteCond %{REQUEST_URI} !^/show.php 
    RewriteRule ^(.*)$   /show.php?domain=%1&$1 [L] 
# although, the above line may require this instead 
    RewriteRule .    main.com/show.php?domain=%1&$1 [L] 
関連する問題