我有以下规则将“example2.test.com”页面重定向到“www.example2.test.com/index.shtml”---即它将index.shtml附加到它
RewriteEngine On
RewriteCond%{HTTP_HOST} ^ example2.test.com $
RewriteRule(。*)http://www.example2.test.com/index.shtml [R,L]
如果我更改规则以尝试捕获用户是否按照以下方式输入 www .example2.test.com,则会收到错误消息,告知我重定向过多
RewriteEngine On
RewriteCond%{HTTP_HOST} ^ www.example2.test.com $
RewriteRule(。*)http://www.example2.test.com/index.shtml [R,L]
我有什么东西在这里? - 对我来说有点新......
...谢谢
答案 0 :(得分:1)
RewriteCond
基本上是一个if语句,默认情况下服务器会尝试访问索引页面,所以你的第二个例子是
if uri is www.example2.test.com
redirect to www.example2.test.com
你正在创建一个无限循环,因为一旦它被重定向,它就会被重新评估,从而重定向它。
如果您在访问该网址时未收到index.shtml
页,则可能需要将index.shtml
添加到您的apache directory index。所以打开你的httpd.conf
并找到它所说的内容
DirectoryIndex index.html
并向其添加index.shtml
,如果它尚未存在,那么您最终会使用
DirectoryIndex index.html index.shtml