【发布时间】:2016-12-22 17:09:17
【问题描述】:
您好,很抱歉打扰您,我试图环顾四周,但找不到解决方案,我真的不知道如何以及是否可以使用 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
动物/狗和猫应该是名字我收到以下获取变量:
$_GET["name"]=动物 $_GET["name"]=dogandcat
这里的问题是我应该怎么做才能收到以下 get var:
$_GET["name"]=animals/dogandcat $_GET["name"]=800ad44>
真的想不出解决方案,可能不是我最好的日子。
谢谢
编辑: 在名称中可以有很多斜杠示例:
example.com/mypage/animals/dogandcat/squirrel/someotheranimal-800ad44
【问题讨论】:
-
看起来你需要清理你的 url 结构,你可以
urlencode你的 URL 以便/=%2F即urlencode('animals/dogandcat');这样你选择网址的右侧部分 -
感谢您的建议,我也想作为最后一个资源来做类似 php 或 js 方面的事情,但我只是想知道是否不能直接使用 htaccess
标签: php apache .htaccess mod-rewrite