我需要在Code Igniter框架中使用.htaccess的建议

时间:2012-12-22 03:02:54

标签: php apache .htaccess codeigniter

我的旧网站没有使用框架,而.htaccess工作正常,请查看下面的.htaccess代码:

RewriteRule ^([a-zA-Z0-9_-]+)\.html solution.php?solution=$1 [L]

所以关键是如果它检测到' .html'在url中,然后用户被重定向到传递任何GET参数的PHP页面。

最近,我已将我的网站转换为使用代码点火器框架,因此我已将我的.htaccess代码转换为以下内容:

RewriteRule ^([a-zA-Z0-9_-]+)\.html index.php/solution/index/$1 [L]

我最终得不到一个页面。但是,如果我仍然手动输入

http://myhost/index.php/solution/index/xxx 

然后它可以工作,但如果我输入

http://myhost/xxx.html 

然后它没有。我的目标是维护原始网址,因为它已被Google编入索引,而且我不希望我网站的先前访问者找不到“未找到的网页”。对于我以前的链接。

我需要一个可能有帮助的修复或建议。期待你的回复。感谢。

2 个答案:

答案 0 :(得分:1)

在将您的网站转换为使用CI时,您似乎错过了很多东西。阅读URL suffixes并注意您可以使用routes重定向您使用控制器无法正常处理的任何内容。

您还需要修改.htaccess以摆脱index.php,因为只修改配置文件不起作用 - 有很多相关资源,例如this one

答案 1 :(得分:0)

按照codeigniter用户指南:http://ellislab.com/codeigniter/user-guide/general/urls.html

特别在以下部分中:

  1. 删除index.php文件
  2. 添加网址后缀
  3. 如果仍有问题,请查看此维基:

      

    https://github.com/EllisLab/CodeIgniter/wiki/Removing-index.php-in-codeigniter-xampp-for-windows

      

    How do I write a .htaccess file to make CodeIgniters URL routing work?