【问题标题】:Codeigniter URL redirection and routingCodeigniter URL 重定向和路由
【发布时间】:2014-04-21 12:05:36
【问题描述】:

我正在尝试使用 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 而不涉及服务器端重定向的方法,还是有更好的方法来做到这一点?

【问题讨论】:

    标签: php .htaccess codeigniter redirect url-routing


    【解决方案1】:

    解决方案1.使用CodeIgniter路由

    在你的application/config/routes.php试试这个

    $route ['api/(:any)'] = "api/$1";
    $route ['(:any)'] = "home/index/$1";
    $route ['default_controller'] = "home";
    
    1. 对于模式中任何匹配的(),您需要根据() 模式的位置添加相应的$1 或$2、$3..。即第一个 () 是 1 美元,第二个 () 是 $2 等等。

    2. 您需要将默认控制器设置为home。

    解决方案 2. 使用 .htaccess 页面重定向

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/api(.*)$ 
    RewriteCond %{REQUEST_URI} !^/home/index$ 
    RewriteRule ^.*$ /home/index [R=301,QSA,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多