使用友好网址(Codeigniter)将旧动态页面重定向到新的动态页面

时间:2014-01-23 12:50:58

标签: .htaccess mod-rewrite redirect routing

我花了很多时间来解决我的问题,但它不起作用 请帮助我,自12月底以来我一直在努力(见证http://forum.php.pl/index.php?showtopic=225498&hl=

我想从我的旧页面重定向用户,基于纯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

但我想从这个网址重定向:

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_Reklamowe_Controller / redirect($ string)方法无法访问$ string。

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

如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

所以,我知道你正在寻找一个.htaccess解决方案,但我只是以一种非常简单的,SEO友好的方式做到了这一点(而且我不想弄乱{{1}的伏都教文件):

.htaccess

来源:StackOverflow Question + Answer