【问题标题】:htaccess - mod rewrite - rewrite rulehtaccess - mod rewrite - 重写规则
【发布时间】:2015-09-22 23:52:53
【问题描述】:

我想就以下问题寻求帮助: 例如,我有这个规则 mod_rewrite:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^adverts/([^/]+)/([^/]+)/?$ adverts.php?kat=$1&podkat=$2 [L]

我想将网址 www.x.cz/adverts/category/subcategory 重写为 www.x.cz/adverts.php?cat=category&subcat=subcategory。

这行得通,但在这种情况下会出现问题,如果 URL 是例如 www.x.cz/adverts/category/subcategory/xxx(另一个斜杠之后不久是一些其他文本字符串) .然后出现错误 500。我该如何解决这个问题? (我希望服务器返回 404 或执行与引用 URL www.x.cz/adverts.php?kat=category&podkat=subcategory 相同的操作 - 就好像没有另一个字符串一样)。

谢谢大家的愿意。

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    我相信即使 URL 有其他部分,这也应该可以使它匹配:

    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^adverts/([^/]+)/([^/]+)(/(.*))?$ adverts.php?kat=$1&podkat=$2 [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      相关资源
      最近更新 更多