【发布时间】:2010-09-12 04:30:56
【问题描述】:
我正在建立一个相当大的网站,我的 .htaccess 开始感觉有点臃肿,有没有办法替换我当前的系统 - 一个规则用于每个可能传递的变量数量,以一个可以解释不同输入数量的所有表达式?
例如我目前有:
RewriteRule ^([a-z]+)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /index.php?mode=$1&id=$2&$3=$4&$5=$6
RewriteRule ^([a-z]+)/([^/]*)/([^/]*)/([^/]*)$ /index.php?mode=$1&id=$2&$3=$4
RewriteRule ^([a-z]+)/([^/]*)$ /index.php?mode=$1&id=$2
RewriteRule ^([a-z]+)$ /index.php?mode=$1
第一个反向引用总是 mode 并且(如果有的话)第二个总是 id,此后任何进一步的反向引用在输入名称和它的名称之间交替价值
http://www.example.com/search
http://www.example.com/search/3039/sort_by/name_asc/page/23
我希望能够有一个表达式来优雅地处理所有输入。
【问题讨论】:
-
这并不臃肿 :) 你应该看过我的一些 apache 配置。说真的,4 条重写规则行是完全合理的。
-
这只是我的配置的一部分,我觉得我可以改进但不知道如何改进,我目前正在处理其他部分;)
标签: regex apache mod-rewrite