【问题标题】:.htaccess rewrite rules for PHP script.htaccess 重写 PHP 脚本的规则
【发布时间】:2018-01-24 12:58:11
【问题描述】:

我有结构 php url 像:

example.com/category.php?cat=graphics-and-design

我想通过 .htaccess 重写规则清理 url:

example.com/category/graphics-and-design

我尝试了以下代码,但仍然无法正常工作:

RewriteRule ^([a-zA-Z0-9_-]*)\/(.*)$ category.php?cat=$1 [L,QSA]

【问题讨论】:

  • 请出示您的.htaccess的完整内容

标签: php apache .htaccess url mod-rewrite


【解决方案1】:

如果您以后不希望其他规则出现问题,例如无法匹配 example.com/project/foobar 而不匹配 category.php?cat=foobar

那么我建议你也匹配类别:

RewriteRule ^category/(.*)$ category.php?cat=$1 [L,QSA]

如果你仍然想走那条路(双关语),问题是它通过了$1'st match:

example.com/category.php?cat=category

所以改为通过匹配$2

RewriteRule ^([a-zA-Z0-9_-]*)/(.*)$ category.php?cat=$2 [L,QSA]

【讨论】:

  • 我都试过了,都不适合我。它产生了 500 错误。
  • 您需要使用RewriteEngine On并且需要启用重写。
  • 那么您需要检查您的 apache 错误日志,因为我已经测试了这两个规则以确保没有 500 个
猜你喜欢
  • 2011-10-22
  • 2014-04-30
  • 2011-02-13
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多