2013-08-18 30 views
1

我有一個根域www.example.com和一個子域test.example.com。我試圖刪除文件擴展名 - 到目前爲止,我可以刪除根域的文件擴展名,但不是子域 - 它會引發404未找到的錯誤。下面是我的.htaccess代碼是在根文件夾:htaccess刪除域和子域的文件擴展名(例如example.com和test.example.com)

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [NC,L] 

舉例來說,我可以輸入www.example.com/page,它會顯示www.example.com/page.php,但如果我輸入test.example.com/some-page,返回404 - 我需要輸入test.example.com/some-page.php來顯示頁面。

我也想重定向所有www。請求非www。域:

www.example.com - > example.com www.test.example.com - > test.example.com

回答

0

您需要設置wildcard您的域名。如果未設置,則需要將.htaccess放入每個子域文件夾中。

規則重寫 「WWW」,以非www地址:

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