2012-04-27 50 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]