更好的htaccess'ing?

时间:2011-04-18 16:22:24

标签: .htaccess mod-rewrite

是否有更有效的方法来执行以下操作?我无法在网上找到明确的解决方案。

一切正常,但我感觉这是一个漫长的过程。

RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/item/([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\-]+)/([a-zA-Z0-9\-]+)/item/([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\-]+)/item/([0-9\-]+)/([a-zA-Z0-9\-]+)/$  index.php?level1=$1&level2=$2&articleID=$3 [L]

如果我想为每个人添加mediaID,我是否必须复制所有3个,然后添加.../media/([0-9\-]+)/$...&mediaID=$x?示例网址为/directors/item/16/nicholas-barker/showreel/media/111/

1 个答案:

答案 0 :(得分:0)

也许你可以试试这个。我有一些问题要弄清楚你想要的东西,但是:

RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)(?:/([a-zA-Z0-9\-]+)(?:/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+))?)?/item/([0-9\-]+)/([a-zA-Z0-9\-]+)/media/([0-9\-]+)/$ index.php?level1=$1&level2=$2&level3=$3&level4=$4&level5=$5&articleID=$6&articleSubId=$7&mediaID=$8 [L]

不存在的变量只是空的。 (你必须检查一下 在index.php)。顺便说一句,你的$ x似乎对我来说是不连贯的。你没有为你的文章ID等使用URL的相同部分......所以你必须在我的表达中稍微调整一下(我已经对你的架构做了很好的假设。