URL路径深度减少.htaccess

时间:2018-02-09 16:35:20

标签: php apache .htaccess mod-rewrite

我们现在减少路径的深度:

来自https://example.com/en/products/i/dance-show-blabla/STUYXhzEYT

https://example.com/en/dance-show-blabla/STUYXhzEYT

所以,我们使用这个htacces代码:

RewriteRule ^(.+?)/(.+?)$ index.php?siteModule=$2

RewriteRule ^(.+?)/(.+?)/(.+?)$ index.php?siteModule=$2&pageController=$3

RewriteRule ^(.+?)/(.+?)/(.+?)/(.+?)$ index.php?siteModule=$2&pageController=$3&pageData=$4 [L]

可以更轻松地解决吗?从3规则合并到1?

1 个答案:

答案 0 :(得分:2)

如果能正确解释空变量,可以使用:

RewriteRule ^[^/]+/([^/]+)(?:/([^/]+))?(?:/([^/]+))?$ index.php?siteModule=$1&pageController=$2&pageData=$3 [L]