2012-02-15 30 views
2

我有一個託管帳戶,有多個域指向同一個文件夾。在這個文件夾中我有一個htaccess文件。我需要知道如何才能爲特定域編寫規則,因此如果我爲一個域指定了一個重寫規則,指向該規則將不會用於指向該文件夾的其他域的文件夾。我嘗試以下,但它不工作:htaccess,爲每個域添加規則

# Domain1.com Redirects 
RewriteCond %{HTTP_HOST} ^domain1\.com [NC] 
RewriteRule ^page1 /page1.php [L] 

# Domain2.com Redirects 
RewriteCond %{HTTP_HOST} ^domain2\.com [NC] 
RewriteRule ^page2 /page2.php [L] 

當我說這不工作,當我去從domain1.com,domain1.com/page2到第二頁,然後domain2.com的第2頁的重寫規則運作。但我不希望它工作,我只想要page2規則只有當有人來到domain2.com下的網站時纔有效。有什麼建議麼?

回答

4

試試這個:

RewriteEngine On 
RewriteBase/

# Domain1.com Redirects 
RewriteCond %{HTTP_HOST} domain1\.com [NC] 
RewriteRule ^page2(\.php)?/?$ - [F] 
RewriteRule ^page1 page1.php [L] 

# Domain2.com Redirects 
RewriteCond %{HTTP_HOST} domain2\.com [NC] 
RewriteRule ^page1(\.php)?/?$ - [F] 
RewriteRule ^page2 page2.php [L] 
+0

如果我有需要爲每個域被打破了無數環節衆多領域?這在htaccess中不可行嗎?我是否需要爲每個域編輯apache conf文件? – John 2012-02-23 17:01:52

+0

一切皆有可能。這個答案是基於你的OP,你可以給我例子,這將幫助我找出你需要做的事情。 – 2012-02-24 00:30:28

+0

@宙斯之書那麼它很難給出一個具體的例子。基本上我有一個在php中的web應用程序,位於cpanel服務器上的一個目錄中。我有20個域指向這個文件夾。我想要做的是使用htaccess文件來加載任何基於URL中的域的重定向/重寫規則。一個網站,我想要一個規則做一個URL重寫,但它只加載該特定域,並不會被重寫爲任何其他域。對於只有一個域的數百條重寫規則,我不想要其他19個域。 – John 2012-02-26 06:52:52