.htaccess 将旧的动态页面重定向到具有友好url的新页面';s(编码点火器)

.htaccess 将旧的动态页面重定向到具有友好url的新页面';s(编码点火器),.htaccess,mod-rewrite,redirect,routing,.htaccess,Mod Rewrite,Redirect,Routing,我花了很多时间来解决我的问题,但它不起作用 请帮帮我,我从12月底就开始和它合作了(请看这里:) 我想从我的旧页面重定向用户,基于纯php,没有CI, 转到基于CI的新页面 我已经制定了从旧页面重定向静态页面的规则,但是我在基于ID和其他参数重定向动态页面时遇到了问题 我的.htaccess文件现在看起来是这样的: RewriteCond %{REQUEST_URI} ^/billboard_lokalizacja\.php$ RewriteCond %{QUERY_STRING} ^site

我花了很多时间来解决我的问题,但它不起作用 请帮帮我,我从12月底就开始和它合作了(请看这里:)

我想从我的旧页面重定向用户,基于纯php,没有CI, 转到基于CI的新页面

我已经制定了从旧页面重定向静态页面的规则,但是我在基于ID和其他参数重定向动态页面时遇到了问题

我的.htaccess文件现在看起来是这样的:

RewriteCond %{REQUEST_URI}  ^/billboard_lokalizacja\.php$
RewriteCond %{QUERY_STRING} ^site=lokalizacje&id=([0-9]*)$
RewriteRule ^(.*)$ tablice_reklamowe/billboard_id/ [R=302,L]
当我输入url时:

my-server/billboard_lokalizacja.php?site=lokalizacje&id=13
它将我重定向到:

my-server/tablice_reklamowe/billboard_id/?site=lokalizacje&id=13
但我想从以下URL重定向:

my-server/billboard_lokalizacja.php?site=lokalizacje&id={NUMBER}
my-server/billboard_lokalizacja.php?site=lokalizacje&id={NUMBER}&variable=value
my-server/billboard_lokalizacja.php?site=lokalizacje&id={NUMBER}&variable=value&variable2=value2
对于这一点:

my-server/tablice_reklamowe/billboard_id/{NUMBER}
请。给我一些建议,现在我很难理解,但我需要尽快运行新页面

我想我可以在控制器中创建一些重定向方法,并使用如下规则:

RewriteCond %{REQUEST_URI}  ^/billboard_lokalizacja\.php$ [NC]
RewriteCond %{QUERY_STRING} ^site=lokalizacje&id [NC]
RewriteRule ^(.*)$ tablice_reklamowe/redirect/ [R=302,L]
但是我的Tablice\u Reklamowe\u Controller/redirect($string)方法无法访问$string

$string为空, 当前url()仅返回
http://my-server/tablice_reklamowe/redirect.


如何解决我的问题?

因此,我知道您正在寻找一个
.htaccess
解决方案,但我只是以一种非常简单、SEO友好的方式完成了这项工作(我不想弄乱
.htaccess
文件的巫术):


<?php

class Old_controller extends MY_Controller
{
    function __construct() {
        parent::__construct();
        $this->load->helper('url');
        redirect(str_replace('old_controller', 'new_controller', "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"), 'location', 301);
        exit();
    }
}