【问题标题】:XAMPP mod_rewrite object not found errorXAMPP mod_rewrite 对象未找到错误
【发布时间】: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 中

【问题讨论】:

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

标签: .htaccess mod-rewrite xampp


【解决方案1】:

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

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

Options -MultiViews

RewriteEngine On
RewriteBase /shop/

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

【讨论】:

    猜你喜欢
    • 2013-11-25
    • 2014-08-11
    • 2015-07-04
    • 2019-03-20
    • 1970-01-01
    • 2016-07-15
    • 2013-02-20
    • 2017-08-26
    • 2017-09-29
    相关资源
    最近更新 更多