【问题标题】:htaccess subdomain redirecthtaccess 子域重定向
【发布时间】:2012-01-01 23:40:44
【问题描述】:

我已经四处搜索并尝试了几种不同的方法,但无法使其正常工作。

我实际上并没有设置子域,但我需要做大约 30 个类似的重定向。

例如:

sub-domain.domain.co.uk 需要去http://www.domain.com/folder/page-name

几乎每个子域和每个“页面名称”都会有连字符,所以我不确定这是否会影响正则表达式格式。

任何帮助将不胜感激!

谢谢

【问题讨论】:

  • 那是一个错误,但如果我更改它仍然不起作用。

标签: .htaccess subdomain subdirectory


【解决方案1】:

您需要使用 %{HTTP_HOST} 变量并在 RewriteCond 中匹配它,然后使用 %1 反向引用在重写规则中访问它。

在 Stack Overflow 上搜索“子域重定向”,看起来这正是您想要的:Internal subdomain to folder redirect


编辑

上面那个 StackOverflow 链接中接受的答案:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
RewriteRule ^ %1%{REQUEST_URI} [L]

在您的 .htaccess 文件中,将其置于您拥有的任何规则之上。显然,您需要将example\.com 修改为您的域,并在文档根目录中设置正确的目录。

【讨论】:

  • “首先你需要配置你的服务器以接受你的域的任何子域” 老实说,我什至不确定我会在哪里这样做?我使用 Hostgator,我认为它从一开始就很好。
  • 您必须查看 Hostgator 的设置子域的教程。您只需要将您设置的所有子域指向同一个文档根目录。
  • 就是这样,我不想实际创建大量子域,因为它只会对我想要的卷造成巨大的混乱。我认为可以重定向一个“虚拟”子域,无论是否已在 cPanel 中“创建”。
  • 就像我说的,你需要检查 Hostgator 的支持,他们可能有类似这样的文章:support.hostgator.com/articles/hosting-guide/lets-get-started/… 在你完成设置之后,你可以使用链接中的 RewriteRule 来做你想做的事想要。
  • 我已经和他们的技术支持谈过了,但他们说他们不知道该怎么做,因为他们不帮助 htaccess。其他 RewriteRules 工作,例如:RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php
猜你喜欢
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多