2012-04-27 49 views
0

我在我的htaccess的文件数mod_rewrite的规则来重定向不存在的页面,默认页,像这样:这些.htaccess mod_rewrite规则可以压缩吗?

  • http://domain.tld/category1/subcategoryX
  • http://domain.tld/category1/subcategoryX/
  • http://domain.tld/category1/subcategoryX/property1
  • http://domain.tld/category1/subcategoryX/property1/

所有重定向到

  • http://domain.tld/category1/subcategoryX/property1/value1

我这样做是因为重定向的子类别和属性都没有页面,只值做。

这些规则:

RewriteRule ^category1/[a-z-]+$    http://%{HTTP_HOST}%{REQUEST_URI}/property1/value1 [R,NC,L] 
RewriteRule ^category1/[a-z-]+/$   http://%{HTTP_HOST}%{REQUEST_URI}property1/value1 [R,NC,L] 
RewriteRule ^category1/[a-z-]+/property1$ http://%{HTTP_HOST}%{REQUEST_URI}/value1 [R,NC,L] 
RewriteRule ^category1/[a-z-]+/property1/$ http://%{HTTP_HOST}%{REQUEST_URI}value1 [R,NC,L] 

的规则工作,但他们有点冗长。是否有任何技巧来压缩规则?前两者之间的区别仅仅是结尾的斜线,最后两点也是如此。

回答

0
RewriteRule ^(category1/[a-z-]+)/?$    /$1/property1/value1 [R,NC,L] 
RewriteRule ^(category1/[a-z-]+/property1)/?$ /$1/value1 [R,NC,L] 

也许你甚至可以重定向所有开头的网址类别1/*

RewriteRule ^(category1/[a-z-]+) /$1/property1/value1 [R,NC,L]