我已经安装了apache。
我有 LoadModule rewrite_module modules/mod_rewrite.so
un-commented,并将AllowOverride None
的每个实例设置为http.conf。
AllowOverride All
我的网站位于子文件夹中,因此像http://123.34.56.123/Website/
一样。
.htaccess file
RewriteEngine On
RewriteBase /Website/
Options +FollowSymLinks
RewriteRule ^index.php http://www.google.com/? [R=301,L]
但是,当我访问上述地址时,它不会重定向到Google.com,而是显示index.php。
的内容更新:
将垃圾添加到.htaccess文件和http.conf中,以强制内部服务器错误,但它仍然转到我的index.php。
在$_SERVER
上做了一个var转储,并找到了:["SERVER_SOFTWARE"]=> string(17) "Microsoft-IIS/6.0"
,但找不到IIS周围的任何程序文件。
基于您的问题,您的问题的一些可能原因:
-
错误命名为
.htaccess
文件。您在帖子中反复称其为" HTACCESS文件"。文件名必须是.htaccess
(带有领先的.
)。 -
在错误的目录中文件。确保此文件位于您网站的根目录中。
-
您需要启用的模块不是
mod_userdir.so
,而是mod_rewrite.so
。寻找这样的行:LoadModule rewrite_module modules/mod_rewrite.so
-
确保
[R=301,L]
与所应用的RewriteRule
在同一行上,或者您将有错误。
另外,即使为了进行测试,也不要对此进行301
,它将永久将访问量转移到您的index.php
到Google。这就是301的作用。用于测试,使用302
。
如果您对httpd.conf的更新神秘地不得更改Windows上的任何内容,请将注释转换为答案避免默默地执行httpd.conf编辑的"数据重定向"。
http://blogs.windows.com/windows/archive/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx