【问题标题】:Need to show subdomain as url than the directory path需要将子域显示为 url 而不是目录路径
【发布时间】:2011-12-26 19:05:40
【问题描述】:

我昨天创建了一个子域 www.subdomain.example.com。这在根目录下创建了一个名为子域的目录。现在,当我打开 www.subdomain.example.com 时,它会被重定向到 www.example.com/subdomain。如何让我的 url 不显示目录路径,即在地址栏中它一直显示 www.subdomain.example.com ,同时显示目录子域中的内容。 我在 hostgator 有一个共享主机帐户。 感谢您的帮助

【问题讨论】:

    标签: .htaccess redirect subdomain


    【解决方案1】:

    在您的 .htaccess 文件中,关闭重定向并使用 mod_rewrite:

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

    这会检查请求的主机是www.subdomain.example.com 还是subdomain.example.com,以确保请求尚未以/subdomain 开头,否则会附加它。这会在服务器内部重定向,因此您的浏览器实际上不会被重定向(地址栏仍会显示:subdomain.example.com)。

    【讨论】:

    • 刚刚解决了问题,jon给出的代码是正确的。我试图将 .htaccess 文件上传到根目录,而我应该上传到子域目录。我对 jon 代码所做的一个小编辑在第 3 行。我给出了目录的完整路径。所以代码的第 3 行看起来像 RewriteContd %{REQUEST_URI)} example.com/subdomain
    • 奇怪,%{REQUEST_URI} 不包括主机名或“http://”,它只是路径(例如/subdomain)。这个条件永远不会匹配。
    • 我在www 中包含了完整路径。在我的 .htaccess 文件中。我刚刚注意到,当我在 stackoverflow 的注释区域中写入完整路径时,它会删除 www。部分,但添加一个链接。这就是为什么它看起来不正确..我是stackoverflow的新手。抱歉错过了
    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2018-04-26
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 2021-08-07
    相关资源
    最近更新 更多