首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.htaccess将子域重写到目录

.htaccess将子域重写到目录
EN

Stack Overflow用户
提问于 2012-05-18 03:39:56
回答 9查看 209.1K关注 0票数 87

是否可以使用.htaccess将子域重写为目录?

示例:

显示的内容

EN

回答 9

Stack Overflow用户

发布于 2012-05-18 03:56:48

尝试将以下内容放入您的.htaccess文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ /subdomains/sub/$1 [L,NC,QSA]

对于更一般的规则(适用于任何子域,而不仅仅是sub),请将最后两行替换为:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ subdomains/%1/$1 [L,NC,QSA]
票数 112
EN

Stack Overflow用户

发布于 2013-12-05 06:54:23

我不是mod_rewrite专家,并且经常与之斗争,但我在我的一个网站上做到了这一点。它可能需要其他标志,等等,这取决于您的环境。我使用的是:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteCond %{REQUEST_URI} !^/subdomains/subdomain
RewriteRule ^(.*)$ /subdomains/subdomain/$1 [L]

网站其余部分的任何其他重写规则必须在此之后进行,以防止它们干扰您的子域重写。

票数 51
EN

Stack Overflow用户

发布于 2016-01-18 23:03:22

您可以在.htaccess中使用以下规则将子域重写为子文件夹:

RewriteEngine On

 # If the host is "sub.domain.com"
 RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
 # Then rewrite any request to /folder
 RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]

逐行解释:

  RewriteEngine on

上面的代码行告诉服务器打开重写URL的引擎。

  RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]

这一行是RewriteRule的一个条件,在这里我们使用正则表达式模式与HTTP主机进行匹配。条件是,如果主机是sub.domain.com,则执行规则。

 RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]

该规则与匹配,并在内部将其重定向到。

将sub.domain.com替换为您的子域,并将文件夹替换为您要将子域指向的文件夹的名称。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10642426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档