我無法將變量URL段重新路由到我設置的測試控制器。我想要案例4重定向到我的測試控制器。無法在CI中重新路由URL
案例1(作品)轉到URL HTTP://localhost/2fb/index.php/redirect/test
//輸出 「測試」
案例2(沒有按」 t工作)轉到URL http:// localhost/2fb/redirect/test
//輸出「在此 服務器上未找到請求的URL/2fb /重定向/測試。」
情形3(作品)到URL的http://本地主機/ 2FB/
//輸出 - >載入我的歡迎控制器。
CASE4(不工作)到URL的http://本地主機/ 2FB/ABC
//輸出「所請求的URL/2FB /重定向/測試/ ABC沒有在此找到 服務器。」
我routes.php文件文件看起來像這樣:
$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route["2fb/(:any)"] = "redirect/test";
的redirect.php控制器:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Redirect extends CI_Controller {
public function index()
{
}
public function test()
{
echo "testing";
}
}
的config.php:
$config['index_page'] = '';
的.htaccess:
# Code Igniter Htaccess Rules
<IfModule mod_rewrite.c>
RewriteEngine on
# Rewrite URLs of the form 'x' to the form 'index.php/x'.
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
我相信我的Apache配置是正確的,因爲它考慮到了.htaccess文件的存在。
我修好了。有兩件事,我有我寫的.htaccess文件,並在2fb的根目錄而不是在應用程序文件夾中進行調試。我還在應用程序文件夾中有另一個.htaccess文件,它在其中寫入'全部拒絕'。我刪除了這個文件,並在下面的答案中用指令的幫助將其替換爲自定義文件。 – Chamilyan