2014-08-28 178 views
1

我用下面的.htacces路由從舊的頁面,一個新問題:笨的.htaccess重寫規則導致404網頁未找到

RewriteEngine on 
RewriteCond %{REQUEST_URI} /Uploader2.7.0/secureFileUploader.php 
RewriteRule ^(.*)$ /uploader/upload [L,QSA] 

即使重寫規則是正確的,我得到了「404未找到頁面'錯誤。這.htacces是我的網站的根。

基於this answer,我改變了:

$config['uri_protocol'] = 'AUTO'; 

$config['uri_protocol'] = 'REQUEST_URI'; 

,這把重新路由規則做工精細,但CLI停止工作。然後,我看到this question它說它將工作,如果我將改變「uri_protocol」

$config['uri_protocol'] = 'AUTO'; 

有沒有辦法來使雙方的工作?

說明:重寫規則起作用,問題在於CodeIgniter內部的路由。我可以使其與RewriteRule規則或CLI協同工作,而不是兩者都行。

編輯:

我想要的網址/Uploader2.7.0/secureFileUploader.php成爲/uploader/upload內部,這是我管理使用上述規則來辦。

/uploader在Codeigniter index.phpupload的路徑中是我希望路由到的控制器的名稱。

/uploader我有.htaccess文件隱藏笨,它完美的作品的index.php

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

當請求的URI是'你希望它在內部被重寫,以'/上傳/ upload'只/ Uploader2.7.0/secureFileUploader.php'?或者'/ uploader/upload/something_else'?請告訴** **完全**是**舊**和**新**網頁的網址 – 2014-08-28 10:26:05

+0

對不起,如果不清楚,我已添加缺失的信息。 – Kuf 2014-08-28 11:17:36

回答

0

把你.htacces在同一層面的應用,user_guide文件夾中。 所以你的codeigniter文件夾裏有6個文件,包括index.php和許可文本文件以及.htaccess文件。

This image is useful for you

+0

這就是我正在使用的設置。 .htaccess重新路由工作正常,codeigniter完美工作,問題是與CLI和codeigniter內部路由 – Kuf 2014-08-28 21:53:09

+0

好吧,我認爲你的.htaccess代碼進展順利。 – Kakshak 2014-08-29 04:32:49