首頁 > 後端開發 > php教程 > 儘管使用了 mod_rewrite,為什麼我的 CodeIgniter URL 沒有刪除「index.php」?

儘管使用了 mod_rewrite,為什麼我的 CodeIgniter URL 沒有刪除「index.php」?

Patricia Arquette
發布: 2024-12-26 01:18:09
原創
650 人瀏覽過

Why Aren't My CodeIgniter URLs Removing

從CodeIgniter URL 中刪除index.php

您的目標是從CodeIgniter URL 中消除“index.php”,但儘管啟用了mod_rewrite ,將$config['index_page'] 設為'',並實作提供的.htaccess 程式碼,問題持續存在。讓我們調查一下潛在的原因。

首先,請確保在Apache2 伺服器設定中啟用mod_rewrite 並且config.php 中的$config['index_page'] 變數為空:

$config['index_page'] = "";
登入後複製

接下來,驗證您的根.htaccess 檔案是否包含以下程式碼:

RewriteEngine on
RewriteCond  !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]
登入後複製

請注意.htaccess程式碼可能會有所不同,具體取決於您的託管伺服器。在某些情況下,會附加一個「?」最後一行結尾可能需要:

RewriteRule ^(.*)$ index.php?/ [L,QSA]
登入後複製

如果前面的步驟無法解決問題,請嘗試以下操作:

  1. 啟用REQUEST_URI 協定: 將$config['uri_protocol'] = "AUTO" 替換為$config['uri_protocol'] = config.php 中的「REQUEST_URI」。
  2. 在開發過程中停用 RewriteEngine:Apache2 的 RewriteEngine 會幹擾 CodeIgniter 的開發環境。在開發過程中,透過註解掉 .htaccess 檔案中的 RewriteEngine 行來暫時停用它。
  3. 檢查 .htaccess 權限: 確保 .htaccess 檔案權限設定為允許 Apache2 修改它們。
  4. 清除快取:關閉並重新開啟瀏覽器或清除其快取以確保新的 URL 結構已被識別。

以上是儘管使用了 mod_rewrite,為什麼我的 CodeIgniter URL 沒有刪除「index.php」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板