2013-02-08 80 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”扩展名。