【问题标题】:.htaccess doesn't work on xampp (windows 7).htaccess 不适用于 xampp(Windows 7)
【发布时间】:2014-08-19 18:36:28
【问题描述】:

我现在正在设置我的.htaccess 文件以使用友好的网址(手动)。但是,当我转到 url 时,服务器会显示 Error 404

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  

Rewriterule ^register$ register.php 

我很确定 mod_rewrite 已启用,因为我在使用 phpinfo() 时看到了它。

【问题讨论】:

    标签: php .htaccess xampp


    【解决方案1】:

    即使mod-rewrite 已启用,默认情况下,.htaccess 文件并未启用它。

    屏住呼吸

    • 打开xampp控制面板
    • 停止 Apache
    • 单击 Apache 行上的 Config 按钮,然后选择 httpd.conf
    • 在该文件中,搜索类似xampp/htdocs"> 的内容
    • 再低一点,你可能会看到这样一行:# AllowOverride All。删除#,这是一条评论
    • 或者,搜索AllowOverride All,确保它在正确的部分,然后删除评论#
    • 保存文件
    • 重启 Apache,祈祷,交叉手指,屏住呼吸

    【讨论】:

    • 很高兴听到这个消息。应该是祈祷吧。 :) :) 谢谢,下次见!
    【解决方案2】:

    此列表可能较旧,但仍然相关,因此为了使其更安全,最好添加几行。

    Deny from all
    Allow from 127.0.0.1 ::1 localhost
    Allow from .htaccess
    

    另外,.htaccess 文件会降低服务器的速度,因此最好参考 xampp 文档以了解最佳实践。

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php/$1 [L]
      

      如果我们想从 url 中删除 index.php 。首先我们在项目的根目录上创建一个不带任何扩展名的 .htaccess 文件。并在此文件中添加此代码,然后删除 index.php Application/config/config.php

      【讨论】:

      • 感谢您提供此代码 sn-p,它可能会提供一些即时帮助。 proper explanation would greatly improve its long-term value 通过展示为什么这是一个很好的解决问题的方法,并将使其对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
      【解决方案4】:

      签入你标记的httpd.conf,检查这个属性

      AllowOverride All
      

      AllowOverride 授权使用 htaccess 文件。

      【讨论】:

        猜你喜欢
        • 2016-04-09
        • 2011-12-18
        • 2020-01-04
        • 1970-01-01
        • 1970-01-01
        • 2013-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多