【问题标题】:Same IP subdomains rewrite相同的 IP 子域重写
【发布时间】:2014-07-25 22:56:29
【问题描述】:

我有以下情况: 'some.example.com' 和 'other.example.com' 都指向同一个 IP。 但是我必须将“some”更改为“other”,例如如果我访问“some.example.com”,它会将我“重定向”到“other.example.com”。这更像是重写而不是重定向。

我环顾谷歌寻找一些 htaccess 解决方案,但没有成功。

谢谢!

【问题讨论】:

  • 我不清楚你真正想要发生什么。
  • 对不起,让我再试一次:'some.example.com'和'other.example.com'指向同一个IP,它们基本上是同一个网站。但是即使我访问“some.example.com”,我也想将“some.example.com”重写为“other.example.com”。我不能使用重定向,因为它们是同一个网站。
  • 如果 some.example 应该显示与 other.example 相同的内容,我认为您没有理由不使用重定向。如果两个子域不指向服务器上的同一个文件夹,实际上进行外部重定向可能更容易。

标签: .htaccess rewrite subdomain


【解决方案1】:

假设您已整理好两个子域的 DNS(例如,您没有收到 server-not-found 错误),您可以这样做:

首先在您的服务器上启用 mod_rewrite。确保 mod_rewrite 位于正确的文件夹中,并取消注释配置文件中的相应条目。如果您在共享主机中,这可能已经完成。确保Options 允许FollowSymLinks。同样,如果您在共享主机上,这可能已经完成,因为在这种情况下您无法访问主配置文件。

如果 some.example.com 指向它自己的目录,请将以下内容添加到指向的目录中的 .htaccess 文件中:

RewriteEngine on

RewriteCond %{HTTPS}s (off|on(s))
RewriteRule http%2://other.example.com%{REQUEST_URI} [R,L]

如果两个子域都指向同一个目录,请将以下内容添加到该目录中的.htaccess

RewriteEngine on

RewriteCond %{HTTP_HOST} ^some\.example\.com
RewriteCond %{HTTPS}s (off|on(s))
RewriteRule http%2://other.example.com%{REQUEST_URI} [R,L]

如果您想要更多的“重写”而不是“重定向”,请将R 标志替换为P 标志。请注意,这将导致某些搜索引擎在搜索结果中惩罚您的网站,这是您通常不希望的。

【讨论】:

  • 上下文是两个子域都指向同一个目录,抱歉我没有提到。我试试这个配置!谢谢。
  • 我在第二个代码块中添加了一个 `\` 来转义一个点。
猜你喜欢
  • 1970-01-01
  • 2017-11-29
  • 2014-07-03
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 2016-11-20
  • 2018-05-20
  • 2018-04-15
相关资源
最近更新 更多