[CodeIgniter] 隱藏網址中的index.php

更新於 發佈於 閱讀時間約 2 分鐘
此文章同步刊登於我的部落格

前言

Codeigniter如果不調整設定,網址中會自帶index.php,為了符合MVC架構,通常會將它去除,步驟如下:


一、開啟伺服器的mod_rewrite

這邊我以Apache作為範例

開啟httpd.conf,找到這行:#LoadModule rewrite_module modules/mod_rewrite.so


https://ithelp.ithome.com.tw/upload/images/20210726/20139878y1uX4Whiiu.png

https://ithelp.ithome.com.tw/upload/images/20210726/20139878y1uX4Whiiu.png

我們要取消註解,所以將這行前面的#去除並重新啟動Apache


二、 確認mod_rewrite是否啟用

運行php函式phpinfo(),並開啟該畫面後,搜尋mod_rewrite

https://ithelp.ithome.com.tw/upload/images/20210726/20139878RW82EbATwl.png

https://ithelp.ithome.com.tw/upload/images/20210726/20139878RW82EbATwl.png

只要在loaded modules欄位內有找到mod_rewrite就代表啟用成功


三、 編輯.htaccess檔案

找到codeigniter根目錄內的.htaccess檔案(若沒有該檔案則建立一個),並在檔案內加入以下內容:

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|img|css|js|fonts|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

APACHE

四、 修改config.php檔案

找到application\config\config.php,並找到$config['index_page'] = 'index.php';

並改成:$config['index_page'] = '';

接下來你的網址就可以省略輸入index.php了

環境

  • Windows 10
  • php 7.3.5
  • Apache 2.4.39
  • Codeigniter 3.1.6
留言
avatar-img
留言分享你的想法!
avatar-img
Hankz是名工程師
8會員
21內容數
你可以在這裡看到後端工程師的技術文章 也可以看到一些投資相關的心得分享 歡迎交流~
Hankz是名工程師的其他內容
2024/03/28
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
2024/03/28
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
2024/03/26
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
2024/03/26
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
2024/03/21
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
2024/03/21
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
CodeIgniter 3 和 Laravel 是兩種不同的 PHP 框架,各有其特點和適用場景。CodeIgniter 3 是一個輕量級框架,Laravel 是一個功能強大的現代 PHP 框架,同樣都有Models的它們有什麼樣的差別呢?
Thumbnail
CodeIgniter 3 和 Laravel 是兩種不同的 PHP 框架,各有其特點和適用場景。CodeIgniter 3 是一個輕量級框架,Laravel 是一個功能強大的現代 PHP 框架,同樣都有Models的它們有什麼樣的差別呢?
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
當我們架好站、WebService測試完,接著就是測試區域網路連線啦~
Thumbnail
當我們架好站、WebService測試完,接著就是測試區域網路連線啦~
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
接續上一篇 Step2:VC#專案建立 Step3:IIS新建站台 Step4:VC#架設到IIS中
Thumbnail
接續上一篇 Step2:VC#專案建立 Step3:IIS新建站台 Step4:VC#架設到IIS中
Thumbnail
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News