您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎樣去除index.php,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
去除index.php的方法:1、在apache中,編輯httpd.conf配置文件,并在框架根目錄下新建htaccess;2、在nginx中,配置“$config['index_page'] = '';”,然后重啟nginx即可。
apache去掉index.php
1.編輯conf/httpd.conf配置文件
#LoadModule rewrite_module modules/mod_rewrite.so 把該行前的#去掉
同時對應Directory下要配置 AllowOverride All
2.在 CI 根目錄下(即在index.php,system的同級目錄下)新建立一個配置文件,命名為: .htaccess 內容如下:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\\.php|robots\\.txt) RewriteRule ^(.*)$ index.php/$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(application|modules|plugins|system|themes) index.php/$1 [L]
3.把system/application/config/config.php 中$config['index_page'] = "index.php";改為$config['index_page'] = "";
4.重啟apache
nginx去掉index.php
1.編輯nginx.conf文件
vi /usr/local/xxxxx/nginx/conf/nginx.conf #nginx去掉index.php location / { rewrite ^/$ /index.php last; #防止某些文件夾被直接訪問 rewrite ^/(?!index\\.php|robots\\.txt|uploadedImages|resource|images|js|css|styles|static)(.*)$ /index.php/$1 last; }
2.config/config.php下配置$config['index_page'] = '';
3..重啟nginx
去掉默認的index方法,如圖的URL配置如:
config/routes.php,配置$route['catalogues/(:any)'] = "catalogues/index/$1";
其中(:any)表示匹配所有除CI保留關鍵字外的內容,后面的$1為index傳入的參數內容。
多個參數采用多個(:any),如兩個參數的為:$route['catalogues/(:any)/(:any)'] = "catalogues/index/$1/$2";
注:route規則如果同一目錄下精確配置要在模糊配置上面,否則不起作用,如:
$route['catalogues/more'] = "catalogues/more"; $route['catalogues/(:any)'] = "catalogues/index/$1";
注意事項
route規則如果同一目錄下精確配置要在模糊配置上面,否則不起作用
nginx服務器不需要.htaccess文件
關于怎樣去除index.php就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。