mod_rewrite 不适用于本地主机

mod_rewrite doesn't work on localhost

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

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

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

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

  1. URL Rewriting not working
  2. 用 htaccess 重写 URL 本地主机
  3. Enable URL Rewriting
  4. htaccess tricks and tips

我检查过之前是否有 #LoadModule rewrite_module modules/mod_rewrite.so 但它不存在,然后我继续尝试将 AllowOverride None 更改为 AllowOverride ALL正如 the third link 所建议的那样,这也不起作用。在研究 AllowOverride None 后,我了解到不应使用它,因为它可能会授予网站上每个用户访问所有文件的权限。

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

TL;DR: rewrite 模块在 LocalHost 的控制台中没有报错,在页面上也没有报错,我使用上面提到的链接一点一点地教育自己得到到我现在所在的位置。

您的文件名必须是 .htaccess 没有文件名

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

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