【问题标题】:.htaccess - Redirect subdomain to folder.htaccess - 将子域重定向到文件夹
【发布时间】: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

提前致谢,

以赛亚诉胡南

【问题讨论】:

    标签: php apache .htaccess redirect subdomain


    【解决方案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 路径,以使重定向正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-23
      • 2014-03-17
      • 1970-01-01
      • 2012-09-17
      • 2012-01-09
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多