【问题标题】:URL rewrite keeping old url with .htaccessURL 重写使用 .htaccess 保留旧 url
【发布时间】:2016-12-20 10:18:40
【问题描述】:

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

我想做的是将旧地址 /IThomepage 重定向到新地址 /Default.aspx?lang=1 ,将 IThomepage 保留在地址栏中;另外,当用户在地址栏中键入/Default.aspx?lang=1 时,我需要更改/IThomepage(不再存在的文件夹)中的url,但加载新内容/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 错误,因为目录不存在

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

有什么帮助吗?

谢谢

【问题讨论】:

    标签: apache .htaccess redirect mod-rewrite


    【解决方案1】:

    试试:

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

    【讨论】:

    • 不幸的是它不起作用..我收到以下错误消息:'重定向你太多次' - ERR_TOO_MANY_REDIRECTS。
    • 您的 .htaccess 或 .conf 文件中是否还有其他重写规则?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-06-05
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多