.htaccess htaccess-删除文件扩展名并强制子域

.htaccess htaccess-删除文件扩展名并强制子域,.htaccess,mod-rewrite,wildcard-subdomain,.htaccess,Mod Rewrite,Wildcard Subdomain,如果子域不在我的URL(或其“www”)中,我将尝试强制使用下划线作为子域。昨天我绕了一圈试图理解这一点,以下是我迄今为止所了解的:- 规则1。 删除文件扩展名-有效,直到我将规则2添加到.htaccess Options -Multiviews RewriteBase / RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) $1\.php [L] 规则2 如果没有子域,则

如果子域不在我的URL(或其“www”)中,我将尝试强制使用下划线作为子域。昨天我绕了一圈试图理解这一点,以下是我迄今为止所了解的:-

规则1。 删除文件扩展名-有效,直到我将规则2添加到.htaccess

Options -Multiviews
RewriteBase /
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
规则2 如果没有子域,则自动使用一个uu例如:u.mysite.com

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://_.%{HTTP_HOST}/$1 [L,R=301]
规则2起作用了,但它将.php添加回文件名的末尾

我试着将“u”规则移到扩展规则之上,但没有什么区别

若要删除第二条规则上的“.php”扩展名,您必须添加“.php”作为可选参数,这将非常有助于获得任何帮助=)

RewriteRule ^(.*)(\.php)|(.*)$ http://_.%{HTTP_HOST}/$1$3 [L,R=301]
这样,无论您的URI是否有“.php”,您的请求都将被重定向,而不带“.php”扩展名