2015-02-23 128 views
1

我在Ubuntu apache2上测试了一些东西。我能够解决个别问题,但是当这些问题结合起来,并显示“此网页有一个重定向循环”。好吧..这里是设置。 我的网站是www.example.org和子文件夹www.example。组织/ KMC。在子文件夹中,我们安装了Joomla CMS的。将不存在的页面重定向到主页,将example.org重定向到www.example.org .htaccess虚拟主机

在.htaccess文件,我做了两件安装。

1)example.org将被转发到为www.example.org

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)S http://%{HTTP_HOST}/$1 [R=301,L] 

它的工作原理

2)不存在的页面将转发到主页。

ErrorDocument 404 http://www.example.org 

它也可以工作。

现在我在000-default.conf文件中设置虚拟主机。原因是我想在同一台服务器上有两个不同的网站。

<VirtualHost *:80> 
    DocumentRoot /var/www/html/kmc 
    ServerName www.example.org 
</VirtualHost> 

现在,当我进入example.org时,浏览器显示“此网页有重定向循环”。

+0

“http:// www.example.org”上有一个页面吗? – 2015-02-23 21:40:48

+0

是的。只是简单的index.html – zhtway 2015-02-23 21:56:16

回答

0

www规则应该是这样的:

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 

您的规则中缺少目标URL www.