mod重写转义字符

时间:2010-04-19 09:03:55

标签: php .htaccess mod-rewrite

简单的问题,我的网址是

www.site.com/page--3

我需要将rewriterule读作“/ page - 3”作为两个不同的值。

我有这个工作: RewriteRule ^ /?([a-zA-Z0-9 - ] +)/([a-zA-Z0-9 - ] +)$ index.php?page = $ 1& subpage = $ 2

这为我提供了来自 www.site.com/page/3的值'page'和'3'。

怎么我是否可以让rewriterule读取' - '作为值的分隔符,以便我可以读取页面和数字值?简单地改变/到 - 不起作用,是否需要在某些表达式或逃逸值中?

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:0)

RewriteRule ^ products /([0-9] [0-9])/ $ index.php?page - $ 1

答案 1 :(得分:0)

不确定我是否理解正确,但假设我这样做,这应该有效:

^/([a-zA-Z0-9-]+)(/|--)([a-zA-Z0-9-]+)$

它会匹配www.site.com/page--3www.site.com/page/3。但请注意,与原始正则表达式不同,$2将成为分隔符,您要查找的值位于$1$3