2012-09-09 147 views
1

我在我的域名註冊商處設置了通配符記錄。現在,如果用戶訪問我的域中缺少的子域,它們將被重定向到主頁。目前我的初始設置是這樣的:重定向到404通配符子域

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    RewriteEngine On 
    RewriteRule ^(.*)$ http://domain.com$1 [R] 
    DocumentRoot /var/www 
    <Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    </Directory> 
    # more below... 
</VirtualHost> 

任何通配符子域或者如果我的IP通過URL輸入將重定向到主頁。我可以做些什麼來重定向(HTTP重定向)通配符子域名到404頁面而不是主頁?

+0

可能您可以使用PHP腳本來檢查主機名並在必要時生成404錯誤。 –

+0

也許吧,但是我想到的就像是「找不到主機」頁面。就像其他網站一樣。 (例如deads.google.com) –

+0

@SalmanA - 你爲什麼刪除了你的答案?它正在工作,可能是我在找的東西。 –

回答

2

嘗試將您的重寫規則更改爲此;它應該火Apache的404錯誤頁面:

RewriteRule .* - [R=404,L] 

錯誤頁面可以被設置爲使用ErrorDocument指令自定義的HTML或PHP頁面。雖然HTML頁面可以很好地工作,但PHP腳本可以讓您做更多。

您可以在通配符域上創建一個漂亮的頁面,然後執行此操作:RewriteRule .* /domain-doesnt-exist.php [L]上面提到的頁面可能會發送404標頭,以防您希望搜索引擎忽略該頁面。

+0

這個Apache 404錯誤頁面是否可定製?我的意思是我可以設計它嗎?它位於哪裏? –

相關問題