【问题标题】:.htaccess not working on Windows.htaccess 在 Windows 上不起作用
【发布时间】:2012-07-16 08:53:16
【问题描述】:

我的 Windows 机器上安装了 Apache 2.2,.htaccess 似乎有问题。

我在 `httpd.conf` 文件中启用了 `mod_rewrite`,并在我的 .htaccess 中写入了一些条件,但没有任何效果。我尝试在其中放入一些垃圾,看看它是否会返回内部服务器错误,但即使这样也行不通。可能是什么问题?

问题可能是,我的 Apache 位于“C:\Program Files\Apache Software Foundation”,而我的服务器根目录位于“C:\Users\Grega\Server”?我在 httpd.conf 中找不到任何指向 .htaccess 的内容

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    确保您没有为目录C:\Users\Grega\Server 设置AllowOverride None。否则 htaccess 文件可能会被完全忽略。您可以通过AllowOverride All 或至少AllowOverride FileInfo 打开所有覆盖。

    【讨论】:

    • 这有帮助。另外不要忘记在 httpd.conf 中启用您的 LoadModule rewrite_module modules/mod_rewrite.so
    • 完美运行。在我的 Mac 上,相同的代码 AllowOverride None 可以正常工作。必须为 Windows 更改它。
    • # 开启 URL 重写 RewriteEngine On # 安装目录 RewriteBase /sc19/ # 保护隐藏文件不被查看 Order Deny,Allow Deny From All # 保护应用程序和系统正在查看的文件 RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] # 允许直接显示任何存在的文件或目录 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{ REQUEST_FILENAME} !-d # 将所有其他 URL 重写为 index.php/URL RewriteRule .* index.php/$0 [PT]
    【解决方案2】:

    确保您没有为目录 C:\Users\Grega\Server 设置 AllowOverride None。否则 htaccess 文件可能会被完全忽略。您可以通过 AllowOverride All 或至少 AllowOverride FileInfo 打开所有覆盖。

    乔恩林

    对我来说这行不通。但我找到了解决方案。去\wamp\bin\apache\apache2.4.9\conf\httpd.conf 找到

    <IfModule dir_module>
        DirectoryIndex first_page.html if_not_found.html
    </IfModule>`
    

    first_page.html 更改为您想要的任何内容。

    (我的母语不是英语,所以我为我的英语不好表示歉意。)

    【讨论】:

    • 你的英语很好。如果你能向母语人士解释一些技术性的东西,并且他们明白了,那么你已经到了
    猜你喜欢
    • 2017-11-27
    • 2012-12-31
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2014-04-10
    相关资源
    最近更新 更多