【问题标题】:htaccess - Remove file extensions and force subdomainhtaccess - 删除文件扩展名并强制子域
【发布时间】:2013-02-08 18:14:54
【问题描述】:

如果子域不在我的 URL(或其“www”)中,我会尝试强制使用 下划线 作为子域。我昨天绕着圈子试图理解这一点,这是我到目前为止所拥有的:-

规则 #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 添加回文件名的末尾?

我尝试将“_”规则移到扩展规则上方,但没有任何区别。

如果有任何帮助将不胜感激 =)

【问题讨论】:

    标签: .htaccess mod-rewrite wildcard-subdomain


    【解决方案1】:

    要删除第二条规则上的“.php”扩展名,您必须添加“.php”作为可选参数:

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

    这样,无论您的 URI 是否有“.php”,您的请求都将始终被重定向而没有“.php”扩展名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 2019-01-03
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      相关资源
      最近更新 更多