【发布时间】:2021-11-29 13:50:30
【问题描述】:
我在.htaccess 中有以下RewriteRule 指令:
RewriteRule ^work/([a-zA-z0-9\-]*).html$ work.php?go=$1 [L]
RewriteRule ^work/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*).html$ work.php?go=$1&sub=$2 [L]
RewriteRule ^work/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*).html$ work.php?go=$1&sub=$2&pid=$3 [L]
RewriteRule ^work/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*).html$ work.php?go=$1&sub=$2&pid=$3&pad=$4 [L]
RewriteRule ^work/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*)/([a-zA-z0-9\-]*).html$ work.php?go=$1&sub=$2&pid=$3&pad=$4&id=$5 [L]
一切正常。
但是有谁知道,我怎样才能把所有这行放在一行中作为一个规则?
【问题讨论】:
-
您为什么要这样做?结果将非常难以理解和维护。很少有好主意。
-
因为不幸的是我有很多它的变种,并且可以将其减少到五分之一(5x 工作到 1...)。
-
规则集的实现并不复杂、耗时。维护和错误跟踪是昂贵的。这两个主题遵循指数曲线。因此,您绝对希望保持这些简单,而不是规则集的实现或存储。
标签: php regex apache .htaccess mod-rewrite