繁体   English   中英

.htaccess modrewrite问题

[英].htaccess modrewrite problem

我在 wordpress 上有一个网站,我写了一个插件,需要对 SEO 友好的 URL 现在我被困在下面

http://domain.com/catalogue-category/1/工作正常,但是当我将/1/替换为http://domain.com/catalogue-category/Seating/之类的类别名称时,它不起作用根本就给我404错误。

它也在/catalogue-category/?cat=Seating工作

我的 apache 重写规则是

RewriteRule ^catalogue-category/^([^/]+)/$ /catalogue-category/?cat=$1 [L]

我的mod重写不如PHP那么好,所以请原谅我的无知,把我当作菜鸟。

期待大师的来信:)

尝试:

RewriteRule ^catalogue-category/([^/]+)/$ /catalogue-category/?cat=$1 [L]

您在正则表达式模式( ^catalogue-category/^([^/]+)/$ )中使用了插入符号^两次,插入符号断言匹配应该从字符串的开头开始。

模式解释

以前的模式:

  1. 在字符串 «^» 的开头断言 position
  2. 匹配字符“catalogue-category/”字面意思是«catalogue-category/»
  3. 在字符串 «^» 的开头断言 position
  4. 匹配下面的正则表达式并将其匹配捕获到反向引用编号 1 «([^/]+)»
    1. 匹配任何不是“/”的字符«[^/]+»
      1. 在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)«+»
  5. 从字面上匹配字符“/”«/»
  6. 断言 position 在字符串的末尾(或在字符串末尾的换行符之前,如果有的话)«$»

推荐一个

  1. 在字符串 «^» 的开头断言 position
  2. 匹配字符“catalogue-category/”字面意思是«catalogue-category/»
  3. 匹配下面的正则表达式并将其匹配捕获到反向引用编号 1 «([^/]+)»
    1. 匹配任何不是“/”的字符«[^/]+»
      1. 在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)«+»
  4. 从字面上匹配字符“/”«/»
  5. 断言 position 在字符串的末尾(或在字符串末尾的换行符之前,如果有的话)«$»

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM