Apache mod-rewrite .htaccess子域名重定向问题
我很努力让我的.htaccess正确配置为特定子域名设置子域名重定向。我想重定向(而不是屏蔽)一个子域到一个特定的页面并多次重复这个配置。Apache mod-rewrite .htaccess子域名重定向问题
我目前使用的云DNS在谷歌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
感谢
你是接近的解决方案,改变重写规则如下:
RewriteRule ^(.*)$ https://www.theteachertutors.com/private-sat-act-tutoring/$1 [R=301,L]
当您重定向到其他域/子域时,您必须使用完整的URL。此外,我使用R=301
将重定向标记为永久重定向(默认规则指向另一个域使用302重定向)。
Hi @ Alberto-martinez 。我提出了建议的更改,但https://sat.theteachertutors.com不起作用。任何其他想法? #BEGIN WordPress的
当您尝试访问子域名时会出现什么错误?此外,该子域指向www域的相同位置?我的意思是,我认为你之前已经将子域配置为指向.htaccess文件所在的目录,这似乎是主域的根目录,对吗? –
嗨@ alberto-martinez,试图到达我得到的网址:无法访问此网站sat.theteachertutors.com花了很长时间回复。 基本上我希望子域转发到网站上的页面。 .htaccess文件位于主域的根目录中。看起来,当访问子域的网址(https://sat.theteachertutors.com/)时,请求并没有打到.htaccess文件。谷歌云DNS中是否需要额外的配置?谢谢! – Yarin
哪个Apache 2.2或2.4版本?您是否尝试在重写过程中添加“R”标志?像这样: 'RewriteRule ^(。*)$/private-sat-act-tutoring/$ 1 [R,L]' – sys0dm1n
嗨 - 我试过按以下方式,但仍然没有运气... – Yarin