【问题标题】:How to write a subdomain with htaccess?如何使用 htaccess 编写子域?
【发布时间】:2016-08-17 17:19:24
【问题描述】:

我正在尝试通过 htaccess 文档转发子域。以下指令会将http://sub.domain.com 转发到内部结构Root > subfolder > index.php。这一切都很好。

# REWRITE DEFAULTS
# ====================================================================================================
RewriteEngine On
RewriteBase /

# SUBDOMAIN FORWARD
# ====================================================================================================
RewriteCond %{HTTP_HOST} ^sub.domain.com$ 
RewriteRule ^(/)?$ subfolder/index.php [L]

RewriteCond %{HTTP_HOST} ^sub.domain.com$ 
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1 

这种方法只有一个(大)缺点。当您尝试通过转到http://sub.domain.com/images/ 来访问子文件夹中的文件夹(例如Root > subfolder > images)时,一切都会再次正常运行,然而当您不以斜杠结尾时http://sub.domain.com/images url地址栏中会变成http://sub.domain.com/subfolder/images/,这显然不是我想要的。

如果忘记了斜线,我会添加一个斜线怎么办?

RewriteCond %{HTTP_HOST} ^(.*).domain.com$ 
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://%1.domain.com/$1/ [L,R=301]

当你有一个普通的 URL (http://www.domain.com/images) 时,这一切都有效,因为它会检测到它是一个目录并添加一个斜杠,如果它是一个文件,它将省略斜杠。但是,这不适用于我们的 http://sub.domain.com/images 示例。

有人知道如何使用 htaccess 使子域正常工作吗?

【问题讨论】:

    标签: .htaccess redirect subdomain wildcard-subdomain


    【解决方案1】:

    这是因为/subfolder/images 是一个真实的目录,而mod_dir 模块通过执行 301 重定向在所有目录中添加了一个斜杠。

    你可以这样使用它:

    RewriteEngine On
    
    # add a trailing slash if /subfolder/images is a directory
    RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
    RewriteCond %{DOCUMENT_ROOT}/subfolder/$1/ -d
    RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,NE,R=302]
    
    RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
    RewriteCond %{REQUEST_URI} !^/subfolder/
    RewriteRule ^(.*)$ /subfolder/$1 [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 2021-12-10
      • 2013-11-19
      • 2017-11-19
      • 2011-05-15
      • 2011-02-04
      相关资源
      最近更新 更多