.htaccess - 将子域重定向到文件夹
Posted
技术标签:
【中文标题】.htaccess - 将子域重定向到文件夹【英文标题】:.htaccess - Redirect subdomain to folder 【发布时间】:2013-11-08 22:33:58 【问题描述】:这个问题可能已经被问了一千多次了,但是我已经尝试了这么多脚本,并且在谷歌上搜索了这么久却什么也没找到,我想,让我们问问吧。
我只是希望 m.daltonempire.nl
被重定向到 daltonempire.nl/m/
而用户不会看到 URL 更改。
所以如果请求m.daltonempire.nl/hello.php
,我希望用户继续看到这个URL,而给出的页面实际上是daltonempire.nl/m/hello.php
。
注意:我不想要www.
,所以只需http://m.daltonempire.nl
提前致谢,
以赛亚诉胡南
【问题讨论】:
【参考方案1】:将此添加到您的网络根/
目录中的.htaccess
RewriteEngine on
RewriteBase /
RewriteCond %HTTP_HOST ^m\.daltonempire\.nl$ [NC]
RewriteCond %REQUEST_URI !^/m(/|$) [NC]
RewriteCond %REQUEST_FILENAME !-d # not a dir
RewriteCond %REQUEST_FILENAME !-f # not a file
RewriteRule ^(.*)$ m/$1 [L]
%REQUEST_FILENAME
条件允许您访问/exists.php
,而不是将其重写为/m/exists.php
。如果您想重写,请删除这两个,即使这可能会覆盖现有文件和目录。
【讨论】:
谢谢,就像一个魅力!我几乎已经放弃了整个重写的事情,尝试了大约 10 种不同的方法,而其他所有方法都给了我 500 个错误。 @kK-Storm 很高兴能帮上忙 :) @RaviKThapliyal 感激不尽。很好的解释!【参考方案2】:试试这个例子:
RewriteCond %HTTP_HOST ^([^/.]+)\.example\.com$
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule (.+)$ "http://example.com/%1" [L,P]
任何http://test.example.com
的请求都会映射到http://example.com/test/...
尝试使用谷歌搜索 dynamic subdomain with php and htaccess
以获得更好的搜索结果。
【讨论】:
一年后,当我尝试谷歌搜索dynamic subdomain with php and htaccess
时,我发现了这个问题......
@Latheesan 导致无限循环【参考方案3】:
我在下面设置了我的子域的 CNAME:
blog.mydomain.com
到我安装在根目录下/blog/
文件夹中的wordpress。
以前我需要使用这个url来调用wordpress:
http://blog.mydomain.com/blog/
这是丑陋的。我尝试了很多代码来重定向:
http://blog.mydomain.com/
到文件夹,以便我可以将其用作我的 wordpress 网址。
最后我得到了.htaccess
设置,这是可行的:
RewriteEngine On
RewriteCond %HTTP_HOST ^blog\.mydomain\.com$
RewriteCond %REQUEST_URI !^/blog/
RewriteRule (.*) /blog/$1
我还有 CNAME 其他子域:http://forum.mydomain.com
到 mybb 安装在文件夹 /forum/mybb/
所以.htaccess
需要把 [L]
放在下面的每个 RewriteRule 代码上。
RewriteEngine On
RewriteCond %HTTP_HOST ^forum\.tophyips\.info$
RewriteCond %REQUEST_URI !^/forum/mybb/
RewriteRule (.*) /forum/mybb/$1 [L]
RewriteCond %HTTP_HOST ^blog\.tophyips\.info$
RewriteCond %REQUEST_URI !^/blog/
RewriteRule (.*) /blog/$1 [L]
如果您想使用该代码,请不要忘记在应用程序配置文件中设置站点 url 和 cookie 路径,以使重定向正常工作。
【讨论】:
以上是关于.htaccess - 将子域重定向到文件夹的主要内容,如果未能解决你的问题,请参考以下文章