htaccess:我怎样才能最小化规则

时间:2011-02-08 11:25:53

标签: mod-rewrite url-rewriting

我将htaccess mod_rewrite用于产品网站。

当要添加产品时,

我在url中创建了产品类别的层次结构 像

1) http://www.example.com/Place-an-ad/Cars/Mazda/mazda-y/mazda-y-2/  4 levels here
2) http://www.example.com/Place-an-ad/Books/Science/                 2 levels here
3) http://www.example.com/Place-an-ad/Realestate/Apprtments/small/   3 levels here

类别可以是2,3或4级

我把它放在htaccess中,尽管我不想复制。

RewriteRule ^Place-an-ad/(.*)/(.*)/(.*)/(.*)/(.*)/?$ new_ad.php?c1=$1&c2=$2&c3=$3&c4=$4 [NC,L] # for 4 level categories
RewriteRule ^Place-an-ad/(.*)/(.*)/(.*)/(.*)/?$ new_ad.php?c1=$1&c2=$2&c3=$3 [NC,L]  # for 3 level categories
RewriteRule ^Place-an-ad/(.*)/(.*)/(.*)/?$ new_ad.php?c1=$1&c2=$2 [NC,L] # for 2 level categories
RewriteRule ^Place-an-ad/(.*)/(.*)/?$ new_ad.php?c1=$1 [NC,L] # for 1 level category

任何人都可以将其缩短,以便所有类别都可以由一个规则处理。

1 个答案:

答案 0 :(得分:0)

使用您的网站编写的任何服务器端语言(例如PHP)进行此类网址重写要容易得多。如果您将这些网址存储在数据库中,则可以添加表格列来存储名称调用每个url时应执行的脚本。