我试图用mod_rewritebuild立一个五层深层次结构。 这是我在这一点上所做的。 它适用于最后两个级别(第一个和第二个规则),但不是在那之后。 任何帮助将不胜感激。
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4&product=$5 [C] RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4 [C] RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3 [C] RewriteRule ^([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2 [C] RewriteRule ^([^/]*)$ /mr/index.php?product_group=$1 [L]
我不是一个服务器技术。 我是一个开发人员,只是无法弄清楚这一点。 这些规则中的每一个都能正常工作。 我需要规则从一个层面到五个层面,以及其间的每一个步骤。 我需要深入了解search引擎优化的风格导航。
看起来你已经把所有的规则和[C]标志连起来了。 请参阅文档以获取对其含义的解释。 您可能需要[L]代替“last”。
还值得注意的是,规则将被运行,直到URL不再改变; 所以你的倒数第二条规则可能会创build一个重写循环,除非你之前有一个类似于这样的规则:
RewriteRule ^/mr/index.php$ - [L]
编辑:为了清楚起见,这是我build议作为一个起点。 你可以从mod_rewrite提供的日志中得到一些见解。
RewriteRule ^mr/index.php$ - [L] RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4&product=$5 [L] RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4 [L] RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3 [L] RewriteRule ^([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2 [L] RewriteRule ^([^/]*)/?$ /mr/index.php?product_group=$1 [L]