首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配url RewriteRule中的“文章”

匹配url RewriteRule中的“文章”
EN

Stack Overflow用户
提问于 2010-05-28 19:33:07
回答 2查看 87关注 0票数 1

建立一个网站,其中有每个部分的内容。

urls的范围从;

/工作/

/工作/打印/

/work/print/folders等

然而,用户可以在任何时候点击一篇文章,所以;

/work/article/1066

/work/print/article/1066

/work/print/folders/文章/1066

使用.htaccess时,我需要检测url中是否有“文章”,并设置一些不同的变量。

代码语言:javascript
复制
RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$ 
sets  index.php?level1=$1&level2=$2&level3=$3&level4=$4

但是如果‘文章/(0-9-+)’在url中,就说/work/print/文章/1066返回index.php?level1=$1&level2=$2&articleID=1066

基本上,关卡的数量总是不同的,但我想根据需要返回这些关卡。另一个示例是/work/print/folder/archive/article/1066 return

代码语言:javascript
复制
index.php?level1=$1&level2=$2&level3=$3&level4=$4&articleID=1066

感谢任何人的帮助!丹

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-02 00:42:05

最后,我只是手动完成了!(尽管我更喜欢更具扩展性的解决方案)

代码语言:javascript
复制
# MENU ###

RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$  index.php?level1=$1&level2=$2&level3=$3 [L]

RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$  index.php?level1=$1&level2=$2 [L]

RewriteRule ^([a-zA-Z0-9\-]+)/$  index.php?level1=$1 [L]


###  WITH ARTICLE  ###


RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/article/([0-9\-]+)/([a-zA-Z0-9\-]+)$$  index.php?level1=$1&level2=$2&level3=$3&articleID=$4 [L]

RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/article/([0-9\-]+)/([a-zA-Z0-9\-]+)$$  index.php?level1=$1&level2=$2&articleID=$3 [L]

RewriteRule ^([a-zA-Z0-9\-]+)/article/([0-9\-]+)/([a-zA-Z0-9\-]+)$  index.php?level1=$1&articleID=$2 [L]


RewriteRule ^$  index.php?level1=home [L]
票数 0
EN

Stack Overflow用户

发布于 2010-05-28 20:33:46

一个简单的解决方案是在php脚本中进行级别检测。

代码语言:javascript
复制
RewriteRule ^(.+)/article/(\d+)$ index.php?levelsUri=$1&articleID=$2

然后你可以解析"levelsUri“请求值并检测你的php脚本中的级别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2928569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档