Apache mod-rewrite .htaccess subdomain redirect issue



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

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

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

谢谢

您接近解决方案,请将重写规则更改为以下内容:

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

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

最新更新