2013-03-02 58 views
0

我試圖沒有成功做以下重寫。index.php處理的所有子域和URL

無論輸入什麼網址或子網域,都應該由index.php「處理」。

可以說,我去example.domain.com

的URL將reamin相同,但內容是從的index.php

如果URL或子域實際存在它不應該的問題之一。

同樣對於任何例如:

other.domain.com/something 

應該保持來回用戶是相同的,但index.php什麼是什麼應該顯示。

+0

文件index.php存在,它位於根目錄(site.com/index.php)中。我想要輸入任何網址,無論哪個子網域,我都希望網址繼續保持原樣,但要顯示index.php的內容。那更清楚了? – Trufa 2013-03-02 22:18:01

+0

這些子域是在public_html文件夾中加入域的嗎? – 2013-03-02 22:25:31

+0

@faa沒有,如果可能的話,我想它與在輸入的任何隨機子域工作。 – Trufa 2013-03-02 22:28:49

回答

0

你可以使用你的.htaccess以下行:

RewriteEngine on 
RewriteRule ^([^/\.]+)/?$ index.php [L] 
+0

因爲我要完成的任務是獨立的子域名是否存在這不會工作.. – Trufa 2013-03-02 20:11:58

1

您可以在一個.htaccess文件在主域的根目錄試試這個(site.com):

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !index\.php [NC] 
RewriteRule .*    /index.php? [L] 

# If the above rule doesn't work as expected, use this rule instead: 
# RewriteRule .* http://site.com/index.php? [L]  

這應該適用於public_html文件夾中託管的通配符和附加子域名。

的規則集滿足這個問題的所有要求:

  • "No matter what URL is entered or the sub-domain" 重定向一切http://site.com/index.php

  • "it should always be processed by index.php"。因此index.php必須存在於某個地方,併爲此答案,在http://site.com的根目錄中。

  • "but index.php what is what should be showed"。很混亂,但一個OP評論清楚說明:將傳入的URL保存在地址欄中。如果不是這種情況,與[R=301,L]

  • 更換[L]不要任何東西傳遞給在替換URL腳本(的index.php)作爲OP沒有提到它。

+0

好吧,我很確定這可能是我的錯,不解釋correctlt,但這不是我所需要的。我需要的是,無論您輸入什麼網址,您都將繼續看到確切的網址,但您將顯示index.php的內容。那個更好嗎?請要求澄清,謝謝你的幫助順便說一句! – Trufa 2013-03-02 23:06:59

+0

這就是我的答案中的規則集的確如此:將傳入的URL保留在地址欄中。' – 2013-03-02 23:08:30

+0

是的,但是,如果我沒有像你說的那樣錯誤,子域實際上必須存在,我必須創建它們的屁眼插件。我不能讓它爲一個實際上不存在的工作嗎? – Trufa 2013-03-02 23:10:46