快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

使用Ci框架url重写过程是什么样的

这篇文章将为大家详细讲解有关使用Ci框架url重写过程是什么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

超过10年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都网站设计、成都做网站、外贸网站建设,成都网站推广,成都网站优化,整体网络托管,小程序制作,微信开发,成都app软件开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!

需求,在框架里面访问地址 https://www.xx.net/de/twitter-video-download   由于框架里面方法不能使用-来命名,

我想到的方法是 twitter_video_download  为方法名,但是ci 框架本身的/ 导致重写不成功,

所以改了ci 框架的动态访问方式 

问,如:

http://www.myweb.com/index.php/weclome/index  (welcome表示控制器,index表示控制器中的一个方法)。

http://www.myweb.com/index.php/admin/welcome/index  (admin表示控制器controler文件夹中的一个子文件,welcome表示admin里面的一个控制器,index表示welcome控制器中的一个方法)。

     二、以前习惯用 http://www.myweb.com/index.php?c=welcome&m=index&x=123131 这种普通模式进行访问,对于这样的要怎么弄了,我想 CI 这种流行的框架,不会只有一种路径访问URL形式,这个基于MVC模式的框架,一定有那种普通模式进行访问URL的,这个一定和配置文件有关的,实践证明这个是正确的。

     方法:打开应用文件application找到配置文件夹config,然后找到config.php文件,如下图

//以前
//$config['uri_protocol']  = 'REQUEST_URI';
//改之后
$config['uri_protocol']    = 'PATH_INFO';
$config['url_suffix'] = '';
$config['language']    = 'english';
$config['charset'] = 'UTF-8';
$config['enable_hooks'] = FALSE;
$config['subclass_prefix'] = 'MY_';
$config['composer_autoload'] = FALSE;
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
//以前
//$config['enable_query_strings'] = FALSE;
//改之后
$config['enable_query_strings'] = TRUE;

使用Ci框架url重写过程是什么样的

下面是nginx 重写的规则

location / {
  

location / {rewrite   "([^/]{1,})/{1}([^/]{1,})-([^/]{1,})-([^/]{1,})"  /index.php?c=$1&m=$2_$3_$4 last;rewrite   "^/([^/]*)/{0,}"  /index.php?c=$1&m=index last;break;}


    break;
}

上面为什么需要加双引号 在nginx 重启时候出现这个错误  nginx:[emerg] directive “rewrite” is not terminated by “;”错误

错误原因:

后来调试发现,这是由于规则里有大括号“{ }”的符号,Nginx误以为这是规则的结尾,产生错误。

解决方法:

因此,为避免这种情况的发生,需要用双引号把伪静态规则给标识出来,就可以了。

下面是apache的规则

RewriteEngine on
RewriteCond $1 !^(index.php|admin.php|images|statics|robots.txt)
#/de 和 /de/都可以访问
RewriteRule ^([^/]*)/{0,}$  /index.php?c=$1&m=index [L]
#/de/a-video-b  -----> /index.php?c=de&m=a_video_b
RewriteRule ([^/]{1,})/{1}([^/]{1,})-([^/]{1,})-([^/]{1,})  /index.php?c=$1&m=$2_$3_$4 [L]

-

关于使用Ci框架url重写过程是什么样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章名称:使用Ci框架url重写过程是什么样的
链接URL:http://6mz.cn/article/peijej.html

其他资讯