【问题标题】:How do I redirect old ugly ulrs to nice urls如何将旧的丑陋 ulrs 重定向到漂亮的 url
【发布时间】:2013-04-24 20:32:14
【问题描述】:

我正在尝试在我的 htaccess 文件中实现重写规则,但我在实现我的特定要求时遇到了困难。我的任务有两个 -

  • 重新丑陋的网址到友好的网址。
  • 将丑陋的网址重新直接转为友好的网址。

具体来说 - 我希望访问 http://mywebsite.com/?section=abstract 的任何人重定向http://mywebsite.com/gallery/abstract

然后在内部将 url http://mywebsite.com/gallery/abstract 写回http://mywebsite.com/?section=abstract(但用户仍然看到友好的 url)

我已经能够让后一点工作......

RewriteRule ^gallery/([^/\.]+)$ /?section=$1 [L]

但我不知道如何将旧的/丑陋的网址也重定向到好的网址。

【问题讨论】:

  • 如果您不打算在其余时间支持旧网址,您可能应该发出“永久移动”重定向。
  • 固定 - 'section' (旧 url) 'gallery' (新 url) 动态 - 'abstract' (这是照片库名称的示例)
  • 我开始认为在我的 php 代码中执行此操作比尝试理解正则表达式和重写规则更容易。

标签: mod-rewrite


【解决方案1】:

我决定在 PHP 中实现重定向....

If(strpos($_SERVER['REQUEST_URI'],"?section=")){
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://$_SERVER[HTTP_HOST]/gallery/$_GET[section]"); 

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多