2014-03-07 62 views
1

我安装了Apache。htaccess不能在windows server 2003上安装apache

我有LoadModule rewrite_module modules/mod_rewrite.so未注释并在http.conf中将AllowOverride None的每个实例设置为AllowOverride All

我的网站是在一个子文件夹,所以它像http://123.34.56.123/Website/去它。

.htaccess文件

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的程序文件。

+0

什么文件夹中的'.htaccess'文件是?另外,只是一个预感:你在文章中反复称它为“htaccess文件”。文件名*必须*为'.htaccess'。你能确认它是否正确命名? –

+2

如果这是一个全新的安装 - 常见的Windows问题是编辑httpd.conf作为非管理员,并且Windows为非管理员创建它的影子副本 - httpd继续使用真实文件。一个快速测试是附加“fdsfsfsfs”并查看它是否破坏Apache。 – covener

+0

@covener嗯,所以我编辑了http。conf文件通过附加垃圾到它,并没有打破Apache。你让我走上了新的道路,谢谢! – Josh

回答

0

根据你的问题,你的问题的一些可能的原因:

  • 错误命名.htaccess文件。您在文章中反复称其为“htaccess文件”。文件名必须为.htaccess(前导为.)。

  • 文件在错误的目录中。确保此文件位于您网站的根目录中。

  • 您需要启用的模块不是mod_userdir.so,而是mod_rewrite.so。寻找这样的一行:LoadModule rewrite_module modules/mod_rewrite.so

  • 确保[R=301,L]是在同一行RewriteRule它适用的,否则你将有错误。

另外,不要做这个301,甚至进行测试 - 它将永久重定向流量到您的index.php给谷歌。 301就是这样。要进行测试,请使用302

+0

对不起,我的困惑和错误。它被命名为'.htaccess',并在我的网站的根目录中出现在'/ Website /'中。启用的模块也是正确的,我修复了我的帖子以反映这一点。此外,RewriteRule与标志[R = 301,L]位于同一行,这是由于某人在编辑我的帖子时发生错字导致的结果。 – Josh

相关问题