XAMPP mod_rewrite 对象未找到错误

Posted

技术标签:

【中文标题】XAMPP mod_rewrite 对象未找到错误【英文标题】:XAMPP mod_rewrite object not found error 【发布时间】:2018-12-18 05:19:50 【问题描述】:

我想从

创建友好的 url

http://localhost/shop/categories.php?cat=asd --> http://localhost/shop/category/asd

但我总是从 apache 收到 Object not found 错误 404 错误。

.htaccess:

RewriteEngine On
RewriteRule ^.+category/([a-zA-Z]+)$ /shop/categories.php?cat=$1 [QSA,L,NE]

categories.php

<?php 
echo $_GET["cat"]; 
?>

用https://htaccess.madewithlove.be/测试

输出网址:http://localhost/shop/categories.php?cat=asd(此网址有效)

我的文件夹商店里只有 2 个文件:

路径:

C:\xampp\htdocs\shop

文件:

.htaccess categories.php

更多信息:

mod_rewrite 已加载(在 phpinfo 和 httpd.conf 中检查) AllowOverride All 在 httpd.conf 和 httpd.xampp.conf 中

【问题讨论】:

禁用多视图 - 当您尝试重写(部分)与实际存在的文件的名称匹配时,它通常会导致问题。 【参考方案1】:

您应该禁用MultiViews 选项,该选项在大多数情况下默认启用(请参阅此主题的this post and my answer)

这是您的/shop/.htaccess 文件的外观:

Options -MultiViews

RewriteEngine On
RewriteBase /shop/

RewriteRule ^category/([^/]+)$ categories.php?cat=$1 [L,NE]

【讨论】:

以上是关于XAMPP mod_rewrite 对象未找到错误的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP 虚拟主机上未找到对象错误

CodeIgniter:Xampp 上的 Mod_Rewrite

XAMPP httpd.conf 设置以允许 mod_rewrite 规则

未找到 xampp 对象中的 Laravel 5.2

XAMPP/Apache 文件夹中的 .htaccess 未找到错误 404

XAMPP .htaccess mod_rewrite 不工作