htaccess - 删除文件扩展名和强制子域
问题描述:
如果一个子域不在我的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返回到年底文件名?
我试着移动扩展规则上面的“_”规则,但它没有区别。
将不胜感激任何帮助=)
答
要取消对第二个规则“.php”结尾你必须添加“.PHP”作为一个可选的参数:
RewriteRule ^(.*)(\.php)|(.*)$ http://_.%{HTTP_HOST}/$1$3 [L,R=301]
这样,不你的URI有“.php”,否则你的请求总是被重定向,不带“.php”扩展名。