XAMPP mod_rewrite 对象未找到错误
Posted
技术标签:
【中文标题】XAMPP mod_rewrite 对象未找到错误【英文标题】:XAMPP mod_rewrite object not found error 【发布时间】:2018-12-18 05:19:50 【问题描述】:我想从
创建友好的 urlhttp://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 对象未找到错误的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter:Xampp 上的 Mod_Rewrite
XAMPP httpd.conf 设置以允许 mod_rewrite 规则