名称中的.htaccess斜杠获取变量问题

时间:2016-12-22 17:09:17

标签: php apache .htaccess mod-rewrite

嗨,抱歉打扰你,我试着环顾四周,但我找不到解决办法,我真的无法弄清楚如何以及是否可以这样做与rewriterule。

这是对我的问题感兴趣的htaccess文件的一部分:

  

RewriteRule ^ pagename /([^ /] +) - ([^ /] +)mypage.php?name = $ 1& id = $ 2 [NC,L]

example.com/mypage/dogarticle-800ad43

所以php中的变量就像

  

$ _ GET [" name"] = dogarticle和$ _GET [" name"] = 800ad43

到目前为止一直很好,但是如果一篇文章包含斜杠我就不能再获得正确的变量,例如

example.com/mypage/animals/dogandcat-800ad44

其中animals / dogandcat应该是名字我收到以下获得vars:

  

$ _ GET [" name"] = animals $ _GET [" name"] = dogandcat

这里有一个问题我应该怎么做以接收以下get var:

  

$ _ GET [" name"] = animals / dogandcat $ _GET [" name"] = 800ad44>

无法找到解决方案,可能不是我最好的日子。

由于

编辑: 在名称中可以有很多斜杠示例:

  

example.com/mypage/animals/dogandcat/squirrel/someotheranimal-800ad44

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteRule ^pagename/(.+)-([^/]+)$ mypage.php?name=$1&id=$2 [NC,L]