【问题标题】:rewrite url htaccess cakephp paginator重写 url htaccess cakephp 分页器
【发布时间】:2013-07-29 07:56:57
【问题描述】:
RewriteRule result/([^\.]+) /job/search/result?k=$1 [L]

我的这段代码可以很好地处理这样的网址

www.example.com/job/search/result/keyword

会给我“关键字”的结果

但问题是 cakephp 分页器正在生成一个链接 像这样

结果/页面:2?k=关键字

我怎样才能为此编写规则 为了解决这个问题,我试过了,但没有运气

RewriteRule result\/page:([0-9]+)\?k=([^\.]+) /job/search/result/page:$1?k=$2   [L]

所以我的新规则是

RewriteRule result\/page:([0-9]+)\?k=([^\.]+) /job/search/result/page:$1?k=$2   [L]
RewriteRule result/([^\.]+) /job/search/result?k=$1 [L]

【问题讨论】:

  • 什么现在不起作用?
  • 如果我只使用这个规则 RewriteRule result/([^\.]+) /job/search/result?k=$1 [L] 生成的链接会放 "page:2?k= $1 中的关键字”,这会给我一个空的结果,这就是我尝试编写另一个规则的原因
  • 我使用 /result/keyword 得到了很好的结果,但 /result/page:2?k=keyword 没有得到任何结果
  • 那么,如果 url 中有 page:2,page:3 ...等,我该如何编写代码来忽略规则

标签: php .htaccess mod-rewrite url-rewriting cakephp-1.2


【解决方案1】:

我已经通过添加重写条件来修复它

RewriteCond %{REQUEST_URI} !^/job/search/result/page:

这样重写规则只会响应

/job/search/result/keyword

【讨论】:

    猜你喜欢
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    相关资源
    最近更新 更多