旧目录结构正在被替换为新目录结构,并且/ oldLms目录需要运行。但是,为了向后兼容,我们仍希望保持旧链接处于活动状态,但使用htaccess将它们重定向到新区域。我有可能在网站的根目录放置一个.htaccess。
以下是“旧”链接示例:
和一个新的:
基本上不同之处在于旧的由
处理 /oldLms/index.php
而新的则由
处理 /lms/index.php?r=site/sso
重定向期间需要保留所有其他查询参数。
然而,有一个问题!我们只需要重定向具有auth_regen=1
参数的链接。其他人不应该重定向。
答案 0 :(得分:1)
您需要在root .htaccess中将以下规则作为您的第一条规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)auth_regen=1(&|$) [NC]
RewriteRule ^oldLms/(index\.php)$ /lms/$1?r=site/sso [L,NC,QSA,R=302]
答案 1 :(得分:0)
您可以添加重写条件:
RewriteCond %{REQUEST_URI} ^/oldLms$
RewriteCond %{REQUEST_URI} auth_regen=1 # only if this occurs in the URI
RewriteRule /oldLms/.* /lms/$1