blog.example.com的apache2configuration不起作用

我有我的博客运行在IP 10.10.10.10(不是真正的)的服务器。

服务器上的这个博客只有一个虚拟主机

这里是Apache的configuration:

VirtualHost明星:80
ServerName blog.example.com
ServerAlias blog.example.com
ServerAdmin [email protected]
DocumentRoot / var / www /
重写引擎
RewriteCond%{HTTP_HOST} ^ [^。] +。example.com $
RewriteRule ^(。+)%{HTTP_HOST} $ 1 [C]
RewriteRule ^([^。] +)。example.com/(.*)/ var / www / $ 1
DirectoryIndex index.php

目录/ var / www / AllowOverride全部
拒绝订单,允许
全部允许
/目录
/虚拟主机

我的DNS blog.example.com指向这个IP地址10.10.10.10。

当我第一次加载blog.example.com时,它加载正确,没有问题。 但是,每当我点击一个链接,它显示的URL像http://10.10.10.10/login.php等

我是一个新手。 请帮我设置这个。
重写规则有问题吗?

问题是生成URL的应用程序似乎在创build绝对的URI,而您的服务器无法处理,因为您的服务器configuration。

有两个可能的解决scheme想到:

正确configuration应用程序,以便创build相对URI或者真正需要绝对URI与正确的主机。

肮脏的解决scheme将放置一个ServerAlias指令来处理这个问题:

 ServerAlias 10.10.10.10 

这将是可能的,但不build议用mod_rewrite来解决问题。 但是这个如此可怕的风格我不会解释它。