[英]CodeIgniter 3 controller methods not working when running in sub-directory
我目前正在為客戶端構建一個新的子系統,它將在https://example.com/new-subsystem之類的子目錄上運行。
他們現有的網站是本機/硬編碼 PHP 所以我必須在根目錄上創建一個新文件夾並將 CodeIgniter 3 框架放在那里。 我配置了base_url,瞧。 它工作正常。
現在的問題是,當我嘗試在 controller 中創建一個新方法時,它返回錯誤 404,似乎服務器正試圖從字面上處理請求,而不是讓 CodeIgniter 處理它。
例子
當我嘗試訪問https://example.com/new-subsystem時,它工作正常。
但是,當我嘗試訪問https://example.com/new-subsystem/test時,它會顯示錯誤 404,並且似乎服務器正在嘗試查找另一個文件夾。 這里是實際route.php
, config.php
, controller
我相信問題不在於這三個。
路線.php
$route['default_controller'] = 'lockdown';
$route['test'] = 'lockdown/test';
config.php
$config['base_url'] = 'http://localhost/project-lockdown/tutorials/';
Lockdown.php(控制器)
class Lockdown extends CI_Controller {
public function index()
{
// This is working by default. It shows on http://localhost/project-lockdown/tutorials/
echo "Hello World!"
}
public function test(){
// This should show on http://localhost/project-lockdown/tutorials/test
echo "Hello, this is a test method and it is not working. Error 404 is shown!";
}
}
主要問題:如何告訴服務器我希望 CodeIgniter 處理http://localhost .
現在,我被困在這里,仍然試圖通過互聯網找到解決方案,並且可以找到東西。 我不是.htaccess
人,所以我認為這與.htaccess
魔法或其他東西(我現在正在嘗試學習)有關。
任何幫助,將不勝感激。 如果我只是在根文件夾中放入 CodeIgniter,則不會出現此問題。
先感謝您。
您需要 URL 中的 append index.php 才能訪問您的控制器/方法。 嘗試 -
localhost/project-lockdown/tutorials/index.php/(controller)/
您可以通過重寫.htaccess
文件中的一些規則來刪除index.php
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.