【问题标题】:htaccess subdomain redirect to folderhtaccess 子域重定向到文件夹
【发布时间】:2014-08-05 18:57:56
【问题描述】:

我正在尝试让我的子域也显示文章路径,但它不起作用。 如果我去 blog.domain.com,它会重定向到https://www.domain.com/blog/

我希望 https://www.domain.com/blog/ 留下 blog.domain.com 如果我去 https://www.domain.com/blog/article/1 显示 blog.domain.com/article/1/

使用 godaddy 的 cpanel,我添加了子域转发(没有屏蔽 - 因为它总是显示 blog.domain.com,我想查看路径,所以我删除了屏蔽)

我试过了:

RewriteCond %{HTTP_HOST} ^(www\.)domain\.com$
RewriteRule ^blog/(.*)$ http://blog.domain.com/$1 [L,R=301,QSA]

RewriteCond %{HTTP_HOST} ^blog\.domain\.com$
RewriteCond %{REQUEST_URI} !blog/
RewriteRule ^(.*)$ blog/$1 [L,QSA]

这似乎没有做任何事情..

编辑

我只将 htaccess 放在根文件夹中。 我也试过了

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^blog(.*)$ http://blog.domain.com/$1 [L,R=301,QSA]

当我转到 blog.domain.com 时,它会重定向到 www.domain.com/blog/ 并且页面没有加载

【问题讨论】:

  • “www.domain.com”和“blog.domain.com”是否都指向同一个文档根目录? (意思是去http://blog.domain.com/blog/和http://www.domain.com/blog/一样)
  • 不,www.domain.com/blog/ 是 blog.domain.com
  • godaddy 上是否有子域转发(301)?我将其设置为:访问 blog.domain.com 时 -> 重定向到 www.domain.com/blog
  • 那么http://blog.domain.com/ 的文档根目录在/blog/ 目录中吗?
  • 是的.. domain.com/blog/

标签: .htaccess mod-rewrite redirect


【解决方案1】:

我将其设置为:访问 blog.domain.com 时 -> 重定向到 www.domain.com/blog

这就是您的浏览器地址栏发生变化的原因。当您重定向时,服务器通过说“您要查找的不是您刚刚访问的 URL,而是(在 301 的情况下,永久)这个新 URL”来响应浏览器,因此浏览器加载新 URL,向新 URL 发送一个全新且单独的请求。这会导致位置栏发生变化。

关闭该重定向。

那么您应该能够将您在根文件夹中的规则保留在 您的主域:

RewriteCond %{HTTP_HOST} ^(www\.)domain\.com$
RewriteRule ^blog/(.*)$ http://blog.domain.com/$1 [L,R=301,QSA]

您不需要弄乱其他规则,因为您的 *document root blog.domain.com 已经是 /blog/。

【讨论】:

  • 所以你是说我应该删除godaddy上的子域转发?一旦我这样做并添加了 htaccess 代码,人们就可以访问 blog.domain.com 并查看我的博客吗?
  • @user235196 假设您已将/blog 设为blog.domain.com 域的文档根目录,该域与重定向的关系为零。 “重定向”是指我上面给出的定义。
  • 好的,我在根目录中有一个名为 blog 的文件夹,其中包含页面。我以前去 www.domain.com/blog/index.php。当我访问 blog.domain.com/article/3 时,它会重定向到 domain.com/blog/article/3
  • @user235196 如果您不想要该重定向,则将其删除
  • 我尝试创建一个测试文件夹 (domain.com/test/) 并在其中添加了 htaccess 代码,然后转到 test.domain.com 页面没有加载
猜你喜欢
  • 2012-11-23
  • 2013-11-08
  • 1970-01-01
  • 2011-10-14
  • 2014-03-17
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
相关资源
最近更新 更多