我正在尝试使用 Codeighiter 路由重定向 URL。我无法为以下内容编写路由。
如果 URL 带有/api/some/some
我想将其重定向到api/some/some
,否则我想将 URL 重定向到/home/index
.
即如果任何 URL 开头为api/
我不想更改该 URL,否则我想将其重定向到默认控制器home/index
我尝试的是映射 codeigniter URL 路由。
$route['api/(:any)'] = 'api/(:any)';
$route['(:any)'] = 'home/index/';
我正在尝试使用 codeigniter URL 路由技术,但我无法实现这一点。
这是在 codeigniter 级别重定向 URL 而不触及服务器端重定向的方法吗?还是有更好的方法来做到这一点?
解决方案 1. 使用 CodeIgniter 路由
尝试这个在你的application/config/routes.php
$route ['api/(:any)'] = "api/$1";
$route ['(:any)'] = "home/index/$1";
$route ['default_controller'] = "home";
对于任何匹配()
在模式中,您需要添加相应的$1
or $2
, $3
..基于该位置()
啪嗒啪嗒。即对于第一个()
第二个是 1 美元()
its $2
等等。
您需要将默认控制器设置为home
.
解决方案 2. 使用 .htaccess 页面重定向
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/api(.*)$
RewriteCond %{REQUEST_URI} !^/home/index$
RewriteRule ^.*$ /home/index [R=301,QSA,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)