2013-02-08 77 views
0

如果一個子域不在我的URL(或其「www」)中,我試圖強制下劃線作爲子域。我昨天繞圈試圖瞭解這一點,這是我迄今爲止: -htaccess - 刪除文件擴展名和強制子域

規則#1。 刪除文件擴展名 - 工作,直到我將規則2添加到.htaccess。

Options -Multiviews 
RewriteBase/
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule (.*) $1\.php [L] 

規則#2 如果沒有子域存在自動使用_例如:_.mysite.com

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

第2級的作品,但它加入.PHP返回到年底文件名?

我試着移動擴展規則上面的「_」規則,但它沒有區別。

將不勝感激任何幫助=)

回答

0

要取消對第二個規則「.php」結尾你必須添加「.PHP」作爲一個可選的參數:

RewriteRule ^(.*)(\.php)|(.*)$ http://_.%{HTTP_HOST}/$1$3 [L,R=301] 

這樣,不你的URI有「.php」,否則你的請求總是被重定向,不帶「.php」擴展名。