【问题标题】:htaccess redirect old links to new website index and manually redirect some exceptionshtaccess 将旧链接重定向到新网站索引并手动重定向一些异常
【发布时间】:2015-02-21 10:08:21
【问题描述】:

我们创建了一个新网站,它的页面结构与旧网站不同。我们仍然希望联系页面指向网站上的联系页面,团队页面指向新页面,等等。

新网站在另一个域上,并且链接不一样 - 例如,在旧网站上我们有 www.example.com/contact,现在我们有 www.newexample.com/contact-us。

我希望能够为这样的重要页面进行手动重定向

Redirect 301 old_link new_link

并且所有未包含在手动重定向列表中的页面都应重定向到新网站的索引。

这可能吗,还是更好的方法?

谢谢

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    您可以在旧文档根目录中设置此规则:

    RewriteEngine On
    #Redirect to new structure
    RewriteRule ^contact$ http://www.newexample.com/contact-us [L,R=301]
    
    #Redirect all to www.newexample.com:    
    RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
    RewriteRule ^(.*) http://www.newexample.com/$1 [R=301,L]
    

    您需要为新网站设置此项:

    #Redirect all 404 Errors to http://www.newexample.com
    ErrorDocument 404 http://www.newexample.com
    

    【讨论】:

    • 此解决方案有效,除非网站上的链接在新网站上没有类似的对应方。例如,在旧网站上,我们有一个博客 - 可通过 www.example.com/blog 访问。在新网站上没有博客,上面的规则在新网站上重定向到 404 页面。如果找不到链接,是否可以重定向到索引?谢谢
    • 哦,刚刚注意到这会影响在文档根目录中设置为子文件夹的插件域......这也可以作为例外添加吗?谢谢!
    • 请明确:插件域是什么?子文件夹在哪里,它叫 setup 还是您的意思是子文件夹的设置?
    • 旧域名是 www.olddomain.com,它位于 /public_html。新域是 www.newdomain.com,它位于 /www.newdomain.com。新域是 cPanel 中的插件域。
    • 现在应该按照您的要求执行此操作...如果没有,请告诉我。
    【解决方案2】:

    您可以为每个旧网址设置一个重写条件,例如RewriteCond %{REQUEST_URI} !(old_link) [NC],然后设置一个为所有其他链接提供服务的重写规则RewriteRule ^(|/|/(.*))$ new_link [R=301,L]

    【讨论】:

      【解决方案3】:

      另一种方法: 使用 .htaccess 将所有请求重定向到 php 文件并通过 php 进行管理

      <?
      $url=$_SERVER['QUERY_STRING'];
      $start= strrpos($url,'/')+1;
      
      if ( strpos($url,"/old_structure/")!==false ) $newest="/new_structure";
      
      $url=substr($url,$start);
      $url=trim($url);
      $domain="domain.com". $newest ."/$url";
      
      
      
      Header( "HTTP/1.1 301 Moved Permanently" ); 
      Header( "Location: http://$domain" ); 
      die();
      ?>
      

      【讨论】:

        猜你喜欢
        • 2014-05-25
        • 2016-02-11
        • 2011-02-10
        • 1970-01-01
        • 2021-07-24
        • 1970-01-01
        • 2020-04-22
        • 2013-06-05
        • 2021-04-16
        相关资源
        最近更新 更多