如何使用.htaccess文件更改{codeigniter的URL

时间:2019-09-15 16:15:37

标签: php .htaccess codeigniter

我想知道如何使用.htaccess文件重写URL。 我的Web应用程序基于PHP CodeIgniter,并且我将实现SEF功能。

当前URL是

http://localhost/index.php/sale/list

在此URL中,“ sale”是控制器名称,“ list”是方法名称。 我想用http://localhost/index.php/product-sales/list

替换URL

如果您非常了解.htaccess,我认为可以使用.htaccess文件轻松完成。

感谢您的关注和时间。 问候

2 个答案:

答案 0 :(得分:1)

将其放入您的.htaccess文件中,并将index.php / sale / ...的所有内容重写为index.php / product-sales /...

RewriteEngine on

RewriteRule ^index\.php/sale/(.+)$ index.php/product-sales/$1 [R=301,L]

但是我同意@Daniel的说法,将其修复在系统中而不是htaccess中可能更好

编辑:如果我现在理解的话,您只想为同一个控制器创建一个新的url,因此在将上限规则添加到htaccess中之后(以便将旧的url重定向到新的url),您仍然需要将新路由添加到路由文件中,例如:

$route['product-sales/(:any)'] = 'sale/$1';

它现在应该可以工作,如果那不是想要的效果,那么请解释更多...

答案 1 :(得分:0)

所有路由都在route.php文件中定义。

导航到您的项目。 打开application / config / routes.php文件。

$route['sale/list'] = 'product-sales/list/';