【问题标题】:mod_rewrite doesn't work on localhostmod_rewrite 在本地主机上不起作用
【发布时间】:2015-03-19 17:36:56
【问题描述】:

我尝试将网站的 URL foto.php 重写为 Aquaria.php,但由于某种原因它不起作用,我没有收到控制台错误或页面上的错误。

我已将htaccess.htaccess 文件放在我的Aquaria 网站的根目录中。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
options +FollowSymLinks
RewriteRule foto.php(.*) Aquaria.php$1 [PT]
</IfModule>

我使用以下链接自学如何使用 htaccess:

  1. URL Rewriting not working
  2. Rewrite URL with htaccess localhost
  3. Enable URL Rewriting
  4. htaccess tricks and tips

我检查了是否有 #before: LoadModule rewrite_module modules/mod_rewrite.so 并且它不存在,然后我继续尝试按照 the third link 的建议将 AllowOverride None 更改为 AllowOverride ALL,这没有也不行。在研究了AllowOverride None 之后,我读到它不应该被使用,因为它可能会授予网站上每个用户对所有文件的访问权限。

使用phpinfo();我检查了重写模块是否已加载,它是,我检查了它说Loaded Modules的地方,我找到了mod_rewrite

TL;DR:重写模块不会在 LocalHost 上的控制台中给出错误,也不会在页面上给出错误,我已经使用上面提到的链接一点一点地教育自己到达哪里我现在。

【问题讨论】:

    标签: apache mod-rewrite url-rewriting xampp


    【解决方案1】:

    你的文件名必须是.htaccess,没有文件名

    要重命名没有文件名的 .htaccess 文件,

    1. 去搜索
    2. 输入 CMD
    3. 打开你的 CMD
    4. 输入:rename pathnamehere\filename.htaccess .htaccess

    【讨论】:

    • 是的,我无法删除 .因为您需要在 Windows 8 上拥有文件名
    • 您是否尝试在 http.conf 中将 AllowOverride 设置为 none?
    • 谢谢您,您的第一个答案正常工作,您能否将其编辑为您的答案:要创建没有文件名的 .htaccess 文件,请转到搜索输入 CMD 打开您的 CMD 输入:重命名路径名here\文件名.htaccess .htaccess
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 2011-02-15
    • 2018-01-02
    • 2017-07-22
    • 2016-12-30
    • 1970-01-01
    相关资源
    最近更新 更多