【问题标题】:Apache : URL Redirection when using Virtual HostsApache:使用虚拟主机时的 URL 重定向
【发布时间】:2013-09-27 17:47:28
【问题描述】:

我有 2 个域和 2 个不同的注册器,问题是我想用相同的 IP 将它们指向我的专用服务器,所以我使用了具有这种配置的虚拟主机:

我的 httpd.conf 如下所示:

<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerAdmin webmaster@xxxxxxxx.com
ServerName www.xxxxxxxx.com
DirectoryIndex index.php
ErrorDocument 404 "http://xxxxxxxx.com/error"
</VirtualHost>
# Virtual host Virtual Host 2
<VirtualHost *:80>
DocumentRoot /home/www/html/yyyyyyyy/
ServerAdmin webmaster@yyyyyyyy.com
ServerName www.yyyyyyyy.com
ServerAlias yyyyyyyy.com
RewriteEngine  on
ErrorDocument 404 "http://yyyyyyyy.com"

</VirtualHost>

我将两个域的 IP 更改为服务器 IP,这对于第一个网站可以正常工作,但对于第二个网站,输入 URL 时它会自动更改为该 URL:

www.xxxxxxxx.com/yyyyyyyy/ 

换句话说,就是url变了。

我需要做什么才能不允许重写第二个网站的 URL。

请帮忙...

【问题讨论】:

  • 为什么不把 yyyyy 放在它自己的文件夹 /home/www/yyyyyyyy/ 而不是在 xxxxx 里面?
  • 是的好主意,我刚刚尝试过,但是在输入第二个 URL 时,它指向了“xxxxxxxx.com/error
  • 暂时删除 yyyy 中的 ErrorDocument 和任何 .htaccess 并重启 apache。

标签: php apache .htaccess redirect virtualhost


【解决方案1】:

您需要在 Cpanel 中而不是在 httpd.conf 中执行此操作

在接收(托管)服务器上选择插件域并输入您希望接受的域及其应指向的目录

然后更改您的重定向域的 DNS A 记录中的 IP 地址以指向您的托管服务器(确保复制旧 IP 地址以防万一您需要回滚,我推荐截图)

【讨论】:

  • 注意,你的重定向文件夹应该在 htdocs 文件夹中
  • 也就是说,如果他正在使用或有cPanel可用,看他的虚拟主机似乎没有cPanel。
  • 我没有CPanel,但我有webmin 我可以用webmin 创建虚拟主机 我已经更改了第二个网站的IP 地址并重定向到服务器,但正如我所说的问题是url 改变了.我将尝试在 www/html 中创建 2 个文件夹,并将每个站点指向其中一个,希望这会起作用
  • 如果你没有CPanel,你可以试试ModRewrite,我一般是在.htaccess里做的,不过在httpd.conf里应该也能用RewriteEngine on RewriteMap lowercase int:tolower RewriteCond %{lowercase:%{HTTP_HOST}} ^www\.([^.]+)\.example\.com$ RewriteRule ^(.*) /home/%1/www$1
  • @prix 我不知道如何通过查看 httpd.conf 来判断某人是否拥有 cPanel,您可以将我链接到该资源吗?
猜你喜欢
  • 2013-02-05
  • 2014-01-19
  • 1970-01-01
  • 2011-03-25
  • 2015-02-22
  • 2022-06-18
  • 2018-10-23
  • 2016-04-14
  • 2016-07-16
相关资源
最近更新 更多