【问题标题】:Subdomain with subfolder gets a 404 error带有子文件夹的子域收到 404 错误
【发布时间】:2013-10-22 11:45:04
【问题描述】:

我有多个使用重定向的子域,但对 SEO 不利

RewriteRule ^([a-zA-Z0-9&:_-]+)/actions$ http://$1.actions.mydomain.nl [R=301,L]

我想重定向到:

http://$1.mydomain.nl/actions

但在这里我得到一个 404 错误。

如何为此制定正确的规则?

【问题讨论】:

    标签: .htaccess redirect subdomain


    【解决方案1】:

    我假设您的规则如下所示:

    RewriteRule ^([a-zA-Z0-9&:_-]+)/actions$ http://$1.mydomain.nl/actions [R=301,L]
    

    所以目的地变成http://subdomain-name.mydomain.nl/actions。因此,您需要做的第一件事是确保 DNS 条目设置为将 subdomain-name.mydomain.nl 指向正确的 IP 地址/服务器。然后在实际服务器上,您需要确保将请求路由到正确的位置。所以假设实际资源是/subdomain-name/actions,你需要:

    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain.nl$ [NC]
    RewriteRule ^actions$ /%1/actions [L]
    

    【讨论】:

      【解决方案2】:

      这是我拥有的完整代码:

      RewriteCond %{HTTP_HOST} !^www.

      RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9&:_-]+).actions.mydomain.nl$ [NC] RewriteRule ^$ file.php?seo_naam=%1 [L,QSA]

      这是可行的,但多个(2 级)子域对 seo 来说不是一件好事。 RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9&:_-]+).actions.mydomain.nl$ [NC]

      但我想将其更改为:

      RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9&:_-]+).mydomain.nl\actions$ [NC]

      没用

      问题是 file.php?seo_naam=%1 应该被加载,否则它将无法工作。

      【讨论】:

        猜你喜欢
        • 2012-09-14
        • 1970-01-01
        • 2013-11-26
        • 1970-01-01
        • 2019-07-10
        • 1970-01-01
        • 2012-05-14
        • 2021-08-14
        • 1970-01-01
        相关资源
        最近更新 更多