我想知道如何使用.htaccess文件重写URL。 我的Web应用程序基于PHP CodeIgniter,并且我将实现SEF功能。
当前URL是
http://localhost/index.php/sale/list
在此URL中,“ sale”是控制器名称,“ list”是方法名称。
我想用http://localhost/index.php/product-sales/list
如果您非常了解.htaccess,我认为可以使用.htaccess文件轻松完成。
感谢您的关注和时间。 问候
答案 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/';