CI框架學習筆記


【雜記】:引用( 如&get_item() )不能直接賦給靜態變量如$static,可是能夠這樣:$static[0] = &get_item()php

淺析Apache中RewriteRule和RewriteCond規則參數的詳細介紹服務器

一開始老是失敗的原始是在Apache的配置上.起做用的配置文件有兩個:httpd.conf和vhost.conf.其中vhost.conf中的一行爲:Options -Indexes -FollowSymLinks +ExecCGI,將其中的-變爲+就好了。CI根目錄下的.htaccess中的代碼爲:框架

#注意:這裏只是去掉index.php, 若是網站根目錄下還有一層(好比/CodeIgniter-3.1.6)那麼訪問時這一級仍然仍是要加上的。固然能夠在其餘地方過濾掉,
可是這裏不能省略)
<ifModule mod_rewrite.c>
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /CodeIgniter-3.1.6/index.php/$1 [L] </ifModule> 網站根目錄是xxx/www,CI位於www之下。通過本身的測試,最後一行代碼其實變爲RewriteRule ^(.*)$ index.php/$1 [L]也能夠。
上不明白這些代碼具體什麼意思。之後研究。

====================================================================
二次研究:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
# 含義解釋: 除已存在的目錄和文件,其餘的 HTTP 請求都會通過你的 index.php 文件。
# 如下內容只是推測:
# RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
# 注: http://localhost/CodeIgniter-3.1.7/welcome會被解析爲
# http://localhost/CodeIgniter-3.1.7/index.php/welcome

# RewriteRule ^(.*)$ /index.php/$1 [QSA,PT,L] /表示網站根目錄
# 注: http://localhost/CodeIgniter-3.1.7/welcome會被解析爲
# http://localhost/index.php/welcome

#解釋:index.php所在目錄是http://localhost/CodeIgniter-3.1.7/,
#規則中的(.*)捕獲的是上面所述網址後面的全部部分,便是welcome,而後將其
#替換$1,若是規則是index.php/$1則將替換後的index.php/welcome放在上面
#所述網址的後面(即代替原來的welcome),即:http://localhost/CodeIgniter-3.1.7/index.php/welcome
#而若是規則是/index.php/$1則將替換後的index.php/welcome放在服務器配置的
#網站根目錄後(即代替網站根目錄後的全部部分)即:http://localhost/index.php/welcome

 

 

三,CI文件加載流程:函數

  • index.php //入口
  • require_once BASEPATH.'core/CodeIgniter.php' //驅動文件
  • require_once(APPPATH.'config/constants.php'); //常量定義
  • require_once(BASEPATH.'core/Common.php'); //公共函數
相關文章
相關標籤/搜索