如果子域不在我的URL(或其“www”)中,我试图强制下划线作为子域。我昨天试图了解这个问题,这是我到目前为止所做的: -
规则#1。 删除文件扩展名 - 有效,直到我将规则2添加到.htaccess。
Options -Multiviews
RewriteBase /
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
规则#2 如果没有自动存在子域,请使用_ eg:_.mysite.com
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://_.%{HTTP_HOST}/$1 [L,R=301]
规则2有效,但是它将.php添加回文件名的末尾?
我已经尝试将“_”规则移到扩展规则之上,但它并没有什么区别。
对任何帮助都很高兴=)
答案 0 :(得分:0)
要删除第二条规则的“.php”扩展名,您必须添加“.php”作为可选参数:
RewriteRule ^(.*)(\.php)|(.*)$ http://_.%{HTTP_HOST}/$1$3 [L,R=301]
这样,无论您的URI是否有“.php”,您的请求都将被重定向,而不会使用“.php”扩展名。