.htaccess - 将子域名重定向到文件夹

6
这个问题可能已经被问了一千多次,但我试过很多脚本,在谷歌上搜索了很长时间,什么都没找到,所以我想,让我们来问问吧。
我只是想让 m.daltonempire.nl 重定向到 daltonempire.nl/m/,而用户看不到 URL 的更改。
所以如果请求 m.daltonempire.nl/hello.php,我希望用户继续看到这个 URL,而实际上给出的页面是 daltonempire.nl/m/hello.php
注意:我不想要 www.,所以只需要 http://m.daltonempire.nl 提前感谢,
Isaiah v. Hunen
3个回答

5
将以下内容添加到您网站根目录的/目录下的.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]
< p > 如果使用%{REQUEST_FILENAME} 条件,您可以访问 /exists.php 而不会将其重写为 /m/exists.php。如果想要进行重写,即使这可能会覆盖现有的文件和目录,请删除这两个条件。


谢谢,运行得很好!我几乎放弃了这个重写的事情,尝试了大约10种不同的方法,但每一种方法都给了我500错误。 - kK-Storm
@kK-Storm 很高兴能够帮忙 :) - Ravi K Thapliyal
@RaviKThapliyal,感激不尽。讲解得非常好! - vvMINOvv

4

尝试这个例子:

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/... 试着在 Google 上搜索 dynamic subdomain with php and htaccess 来获得更好的搜索结果。

7
一年后,当我尝试在谷歌上搜索“php和htaccess动态子域名”的时候,我发现了这个问题... - Jared
@Latheesan 导致了一个无限循环。 - Adrian
但它对我无效。即使我已经进行了更正,方括号中的句点也应该被转义,或者反斜杠也可能需要被转义。 - Rohit Gupta

2
我已经设置了以下子域名的CNAME记录:

blog.mydomain.com

我的WordPress安装在根目录下的文件夹/blog/中。
以前,我需要使用这个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 到位于文件夹/forum/mybb/中的mybb安装,因此需要在以下每个RewriteRule代码上放置[L]
    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路径,按照设置来使重定向正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接