【问题标题】:redirect old URL to new URL [codeigniter .htaccess]将旧 URL 重定向到新 URL [codeigniter .htaccess]
【发布时间】:2015-09-14 11:26:32
【问题描述】:

我的旧网站出现问题,所以我编写了一个新网站。 但我无法将旧 URL 重定向到新 URL。 我的旧网址如下所示:

http://sample.com/?m=news&e=view&id=66

它已经在 google 上共享和 SEO。但是我完成了删除主机中的旧源。 我希望当有人点击该链接时,它会重定向到我的新页面:

http://sample.com/en/news/redirect-url-66.html

但是我知道如何为 htaccess 编写规则。谁能告诉我该怎么做。 这是我的 htaccess(默认 CodeIgniter htaccess):

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA]  

【问题讨论】:

    标签: php apache .htaccess codeigniter redirect


    【解决方案1】:

    旧网址:

    http://sample.com/?m=news&e=view&id=66
    

    新网址:

    http://sample.com/index.php/en/news/redirect-url-66.html 
    

    .htaccess

    RewriteEngine on 
    RewriteCond $1 !^(index\.php|resources|robots\.txt) 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
    
    RewriteCond  %{QUERY_STRING} m=([a-z]+) $1
    RewriteCond  %{QUERY_STRING} e=(view) $2
    RewriteCond  %{QUERY_STRING} id=([0-9]+) $3 
    RewriteRule ^(.*)$ index.php/en/%1/redirect-url-%3.html?
    

    希望对你有用

    【讨论】:

    • 对不起,先生,我忘记编辑我的帖子了。我要重定向的新网址是:sample.com/en/news/redirect-url-66.html
    • 内部服务器错误先生。当我尝试您的代码时,我的所有链接,包括我的主页:sample.com 都是错误的。我只想将 1 个链接 sample.com/?m=news&e=view&id=66 重定向到 sample.com/en/news/redirect-url-66.html ,而不是所有链接,我的新站点中的其他链接仍然使用 sample.com/en/news/alias-id.html。我也尝试使用控制器重定向。但我不能命名控制器 = ?m=news&e=view&id=66。
    • 我没有工作,当我点击sample.com/?m=news&e=view&id=66时,它会重定向到主页sample.com。我认为问题在于旧 URL 有“?”从一开始的字符。
    • 我试过了,它不适用于 codeigniter。 URL 始终标识“?”站点 url 后的字符是一个命令,意思是活动的 default_controller => 重定向到主页。 >.
    • 在codeigniter中,uri的顺序是:控制器/方法/参数所以在你的情况下en/news/redirect-url-66.html被解析如下:“en”是控制器,“ news”是方法,“redirect-url-66.html”是参数,我不确定我是否理解你的最后评论,但这就是 ci 的工作原理
    【解决方案2】:

    您在使用 WordPress 吗?因为如果您这样做,有很多插件可以帮助您在服务器级别进行自动重定向,而无需您自己进行所有重定向,这对于大型网站可能会很麻烦...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 1970-01-01
      • 2014-04-01
      相关资源
      最近更新 更多