【问题标题】:Apache mod-rewrite .htaccess subdomain redirect issueApache mod-rewrite .htaccess 子域重定向问题
【发布时间】:2017-10-17 19:53:22
【问题描述】:

我正在努力正确配置我的 .htaccess,以便为特定子域设置子域重定向。我想将子域重定向(而不是屏蔽)到特定页面并多次重复此配置。

我托管在当前使用 Cloud DNS 的 Google Compute Engine 上(用于托管在 Godaddy 上,其中子域管理非常简单)

before:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

after:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sat.theteachertutors.com$ [NC]
RewriteRule ^(.*)$ /private-sat-act-tutoring/$1  [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我尝试了上面的配置,但重定向不起作用。目标网址为:https://www.theteachertutors.com/private-sat-act-tutoring/ 任何指导/提示将不胜感激。我已经搜索了其他示例,但根本无法使用此配置,即:http://sat.theteachertutors.com

谢谢

【问题讨论】:

  • Apache 2.2 版还是 2.4 版?您是否尝试在重写规则中添加“R”标志?像这样:RewriteRule ^(.*)$ /private-sat-act-tutoring/$1 [R,L]
  • 嗨 - 我按照下面的方法尝试过,但仍然没有运气......

标签: php apache .htaccess redirect mod-rewrite


【解决方案1】:

您已经接近解决方案,将重写规则更改为:

RewriteRule ^(.*)$ https://www.theteachertutors.com/private-sat-act-tutoring/$1 [R=301,L]

当您重定向到另一个域/子域时,您必须使用完整的 URL。我还使用R=301 将重定向标记为永久重定向(默认情况下,指向另一个域的规则使用 302 重定向)。

【讨论】:

  • 嗨@Alberto-martinez。我进行了建议的更改,但 sat.theteachertutors.com 不起作用。还有其他想法吗? # BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^sat.theteachertutors.com$ [NC] RewriteRule ^(.*)$ theteachertutors.com/private-sat-act-tutoring/$1 [R=301,L] RewriteRule ^ index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule 。 /index.php [L] # 结束 WordPress
  • 您尝试访问子域时遇到的错误是什么?此外,子域是否指向与 www 域相同的位置?我的意思是,我假设你之前已经将子域配置为指向.htaccess文件所在的目录,这似乎是主域的根目录,对吗?
  • 嗨 @alberto-martinez,当我尝试访问我得到的 url 时:无法访问该站点 sat.theteachertutors.com 响应时间过长。基本上我希望子域转发到网站上的页面。 .htaccess 文件位于主域的根目录中。似乎在访问子域 url (sat.theteachertutors.com) 时,请求没有命中 .htaccess 文件。谷歌云 dns 中是否需要额外的配置?谢谢!
猜你喜欢
  • 2011-05-06
  • 2012-04-18
  • 1970-01-01
  • 2014-02-07
  • 2012-07-25
  • 2015-01-14
  • 2011-03-03
  • 2011-05-30
  • 1970-01-01
相关资源
最近更新 更多