【问题标题】:Why RewriteRule in .htaccess does not have effect?为什么 .htaccess 中的 RewriteRule 不起作用?
【发布时间】:2012-02-17 21:48:56
【问题描述】:

Apache Web 服务器在 Windows 7 Professional 下运行。 Apache 版本为 Apache/2.2.17 (Win32) PHP/5.3.8。 mod_rewrite 根据phpinfo() 加载。 <VirtualHost> 标签包含 RewriteLogRewriteLogLevel 3 指令。在RewriteLog 指令中设置的日志文件被创建。

根目录下的.htaccess文件如下:

RewriteEngine  On
RewriteRule ^alice\.html$ bob.html

当前目录包含bob.html文件,可以用localhost URL打开。

但是alice.html网址打不开,导致404错误。

此站点的日志文件仅包含有关未找到文件的正常消息。

重写日志文件存在但为空。

哪些会导致重写指令被忽略?

【问题讨论】:

    标签: windows apache .htaccess mod-rewrite configuration


    【解决方案1】:

    确保你的 httpd.conf 中有这一行:

    AllowOverride All
    

    AllowOverride 控制可以在 .htaccess 文件中放置哪些指令。

    测试:要测试.htaccess是否启用,只需在其中输入一些垃圾文本,看看它是否产生500内部错误。

    【讨论】:

    • All?为什么不只是必需的FileInfo
    • @Gumbo:同意 FileInfo 就好了,All 基本上允许所有选项,如 FileInfo、AuthConfig、Limit 等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多