我有我的博客运行在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。
正确configuration应用程序,以便创build相对URI或者真正需要绝对URI与正确的主机。
肮脏的解决scheme将放置一个ServerAlias指令来处理这个问题:
ServerAlias 10.10.10.10
这将是可能的,但不build议用mod_rewrite来解决问题。 但是这个如此可怕的风格我不会解释它。