我制定了一些规则:
RewriteEngine On
RewriteBase /
RewriteRule ^dir1/dir2/(.*).html$ /dir2/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
我的旧链接看起来是:http://example.org/app_name/dir1/dir2/slug.html
,但新链接看起来像:http://example.org/app_name/dir2/slug
我的重定向效果差不多但新链接重定向到http://example.org/dir2/slug
(没有app_name /)
如何将app_name / dir添加到动态重定向?
下面的解决方案并不好:
RewriteRule ^dir1/dir2/(.*).html$ /app_name/dir2/$1 [R=301,L]
答案 0 :(得分:0)
只需在dir1/dir2
之前添加额外的捕获:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/dir1/dir2/(.*).html$ /$1/dir2/$2 [R=301,L]
答案 1 :(得分:0)
这应该适合你:
RewriteRule ^(.*)/dir1/(.*)/(.*).html$ /$1/$2/$3 [R=301,L]
将生成捕获的appname,dir2和slug