【问题标题】:Regular expression and URL Rewriting正则表达式和 URL 重写
【发布时间】:2011-12-16 06:52:17
【问题描述】:

我有一个网址 http://abc.com/v2/,现在我希望如果有人将网址放在类似这样的网址 http://abc.com/v2/ abchttp://abc.com/v2/xyz 应重定向到 http://abc.com/

一般来说,我希望 /v2/ 之后的任何内容都必须重定向到 http://abc.com/

还请告诉我如何了解更多关于 URL 重写(用于 Apache 环境)和正则表达式的知识

【问题讨论】:

    标签: php regex apache .htaccess url-rewriting


    【解决方案1】:

    这也是一个非常基本的规则:

     RewriteRule  ^v2/  http://abc.com/   [R]
    

    [R] 标志用于重定向,但在这种情况下无论如何都是隐含的。主题标记的 ^ 开头将简单地替换您示例中的前导 /

    作为资源:http://regular-expressions.info/ 用于正则表达式教程,ServerFault: Everything You Ever Wanted to Know about Mod_Rewrite Rules but Were Afraid to Ask? 用于 RewriteRules,以及当前手册:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

    【讨论】:

      【解决方案2】:

      这是您可以应用的良好 RewriteRule:

      RewriteRule  ^v2/(.*)  /$1   [QSA,R=301]
      

      至于你的另一个问题,我同意 Eric Johnson 但这是我的 2c:

      帮助您更快完成工作的两个提示:


      请尝试使用RewriteLog 指令:它可以帮助您追踪问题:

      # Trace:
      # (!) file gets big quickly, remove in prod environments:
      RewriteLog "/web/logs/mywebsite.rewrite.log"
      RewriteLogLevel 9
      RewriteEngine On
      

      我最喜欢的检查正则表达式的工具:

      http://www.quanetic.com/Regex(别忘了选择 ereg(POSIX) 而不是 preg(PCRE)!)

      当您想检查 URL 并查看它们是否有效时,您可以使用此工具。

      【讨论】:

      • 嗨奥利弗谢谢你的回答
      • 我的荣幸。感谢的礼貌;)
      【解决方案3】:

      谷歌中“apache url rewriting”的第一个链接:

      http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

      我自己使用了 mod_rewrite,并不难。在请其他人为您搜索 Google 内容之前,请付出更多努力。

      【讨论】:

      • 不愉快但完全足够的答案。为你 +1。
      【解决方案4】:

      您可以放在起始页上。或使用此代码创建自动包含文件:

      $value = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
      $pattern = "http://abc.com/v2/";
      $rez = str_replace($pattern,"",$value);
      
      if(strlen($rez)>0){
          echo "Here";
          header("Location: http://abc.com");
      }
      

      【讨论】:

      • 重定向应该在 Apache 中使用 mod_rewrite 完成,然后才能到达处理程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多