我尝试使用.htaccess
将旧网站文件重定向到新的CodeIgniter网站。
所以,我的旧文件
www.mysite.com/news/new?id=123
必须重定向到
www.mysite.com/news/new/123
目前,我的.htaccess
内部通常包含删除index.php
的代码,但工作正常。
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php?/$1
但是当我尝试旧文件重定向时,没有任何作用。
我认为问题是关于CodeIgniter的,因为如果我做一个简单的重定向到外部文件,比如phpinfo.php
它工作正常,但如果尝试重定向到index.php
(CodeIgniter)它没有加载index.php
但是尝试加载其他内容。如果我删除.htaccess
的{{1}}代码,也会这样做(见上行)。
所以,
index.php
但
RewriteRule news/new.php phpinfo.php [L] # it works
答案 0 :(得分:0)
Codeigniter使用REQUEST_URI Apache变量,它不能随RewriteRule一起更改而且没有重定向。因此,您可以在新闻控制器中使用 _remap 功能来调用自定义方法。
使用htaccess的其他方式是 enabling query string 。
答案 1 :(得分:0)
尝试
RewriteRule news/new\?id=(.*)$ index.php/news/new/$1 [L]