Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以压缩这些.htaccess mod_重写规则吗?_.htaccess_Mod Rewrite_Url Rewriting_Rewrite_Redirect - Fatal编程技术网

可以压缩这些.htaccess mod_重写规则吗?

可以压缩这些.htaccess mod_重写规则吗?,.htaccess,mod-rewrite,url-rewriting,rewrite,redirect,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,Redirect,我在htaccess文件中有一些mod_重写规则,可以将不存在的页面重定向到默认页面,如下所示: http://domain.tld/category1/subcategoryX http://domain.tld/category1/subcategoryX/ http://domain.tld/category1/subcategoryX/property1 http://domain.tld/category1/subcategoryX/property1/ 全部重定向到 http://d

我在htaccess文件中有一些mod_重写规则,可以将不存在的页面重定向到默认页面,如下所示:

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]
规则是有效的,但有点冗长。有什么把戏可以使规则紧凑吗?前两个之间的区别只是结束斜杠,后两个也是如此

RewriteRule ^(category1/[a-z-]+)/?$             /$1/property1/value1 [R,NC,L]
RewriteRule ^(category1/[a-z-]+/property1)/?$   /$1/value1 [R,NC,L]
或者你甚至可以重定向所有以category1开头的url/*

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