【问题标题】:apache mod_rewrite displays object not found 404apache mod_rewrite 显示找不到对象 404
【发布时间】:2012-08-18 16:30:24
【问题描述】:

我有一个链接http://localhost/css/dictionary?letter=a,我想把它变成这样http://localhost/css/dictionary/a

但不知何故它说 404 消息

我在这里错过了什么吗?这是我在 .htaccess 中的代码,请帮助我。

RewriteEngine On
RewriteBase /css/


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^\.]+)$ $1.php [NC]


RewriteRule ^([a-zA-Z])$ dictionary?letter=$1

我一直在搜索所有 youtube 视频和阅读文章,但到目前为止我仍然遇到麻烦,我需要你的帮助。

【问题讨论】:

  • 这个 .htaccess 文件放在哪里?
  • 在根目录中。RewriteRule ^([^\.]+)$ $1.php [NC] 工作正常,但第二条规则给了我 404 错误

标签: php .htaccess web


【解决方案1】:

这是因为你有 2 条规则,第一个匹配第一个(因为它比第二个更通用)。

第二个甚至根本不检查dictionary

第二个条件应该是:

RewriteRule ^dictionary/([a-zA-Z])$ dictionary.php?letter=$1

【讨论】:

  • 如何将两者结合起来?应该删除尾随扩展的第一条规则。
  • @anoldgangstah:我提供了一个例子。
  • 代码仍然给我 404 错误.. 整天这是我的问题老兄。
  • @anoldgangstah:现在试试,我已经在重写的字典文件中添加了 .php 扩展名。
  • 哦,它第一次起作用了!该死的你好!现在我的问题是它无法找到看起来很有趣的 CSS。
猜你喜欢
  • 2015-12-17
  • 2018-06-06
  • 1970-01-01
  • 2017-01-01
  • 2014-08-11
  • 1970-01-01
  • 1970-01-01
  • 2017-04-04
  • 2018-12-18
相关资源
最近更新 更多