URL重写使用.htaccess保留旧网址

时间:2016-12-20 10:18:40

标签: apache .htaccess redirect mod-rewrite

我发布了一个新版本的网站,我需要创建一些重定向规则来保留一些旧网址。

我想要做的是将旧地址/ IThomepage重定向到新地址/Default.aspx?lang=1,将IThomepage保留在地址栏中;此外,当用户在地址栏中输入/Default.aspx?lang=1时,我需要更改/IThomepage中的网址(不再存在的文件夹),但加载新内容/Default.aspx?lang=1

我已尝试

RewriteRule ^IThomepage /default.aspx?lang=1 [R=301,NC,L]

RewriteCond %{QUERY_STRING} lang=1[NC]

RewriteRule ^Default\.aspx$ /IThomepage? [NC,L]

RewriteRule ^IThomepage /default.aspx?lang=1 [R=301,NC,L]

RewriteCond %{QUERY_STRING} lang=1[NC]

RewriteRule ^Default\.aspx$ /IThomepage? [P,NC,L]

RewriteRule ^IThomepage /default.aspx?lang=1 [R=301,NC,L]

RewriteCond %{QUERY_STRING} lang=1[NC]

RewriteRule ^Default\.aspx$ /IThomepage? [QSA,NC,L]

但我没有运气; 301工作但条形图中的地址发生变化,另一条规则返回404错误,因为目录不存在

希望这很清楚......

任何帮助?

感谢

2 个答案:

答案 0 :(得分:0)

尝试:

RewriteRule ^IThomepage /default.aspx?lang=1 [NC,L]
RewriteCond %{THE_REQUEST} \s/default\.aspx [NC]
RewriteRule ^default\.aspx$ /IThomepage? [R=301,NC,L]

答案 1 :(得分:0)

最终我找到了解决方案。这对我有用

RewriteRule ^IThomepage /default.aspx?lang=1 [NC, L]