2014-06-10 26 views
0

我已經嘗試了幾乎所有我能想到的,我基本上已經從我的項目(基本測試)從Mac OS移到Windows OS Web服務器。當我從我的服務器訪問任何其他頁面時,出現「頁面未找到」錯誤,但是它起作用,如果我添加index.php/location,無論如何這裏是我的一些設置:頁面未找到由於htaccess

最初我檢查了是否通過添加此mod_rewrite :in_array('mod_rewrite', apache_get_modules())到一個條件語句響應爲真,所以我知道mod_rewrite是在臉上啓用。

這裏是位於在我的項目(用的index.php)的主目錄我的.htaccess文件:

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    Options -Indexes 
    DirectoryIndex index.php 
    RewriteEngine on 
    RewriteCond $1 !^(index\.php|resources|images|css|js|robots\.txt|favicon\.ico) 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 
</IfModule> 

也試過爲RewriteRule ^(.*)$ index.php/$1 [L]和書面它<ifModule>標籤之外。

下面是我的一些笨設置:

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

我也曾嘗試包括在index_page的index.php並試圖REQUEST_URI爲uri_protocol並沒有什麼似乎工作。

旁註:它可以在我的Mac和Linux(Raspberry Pi)上完美運行。

你能提出任何其他方法或找到我錯過的東西嗎?

編輯: httpd.conf中我已經做的AllowOverride None以下

<directory /> 
    Options All 
    AllowOverride All 
</directory> 

所有實例已更改爲AllowOverride All

下取消了註釋/啓用:

LoadModule rewrite_module modules/mod_rewrite.so 
+0

我必須問(因爲在這裏有另一個問題與同樣的問題)。你確定你在Windows服務器上使用Apache嗎? – jeffatrackaid

+0

我正在使用MAMP Beta for windows,我希望Apache能夠正常工作,因爲我可以加載主頁:) – mdixon18

+0

只需檢查 - 另一個問題在這裏有人想知道爲什麼他們的htaccess不起作用,但他們正在使用IIS。說到htaccess不工作,你確定它正在處理?默認情況下,某些設置不會處理.htaccess文件。我經常發現有用的做一個有目的的錯誤,並確保你得到500錯誤。 – jeffatrackaid

回答

0

不要在php中使用默認的.htaccess文件。

  1. 製作名爲「htaccess的」
  2. 粘貼下面的代碼到這個新的文件,你的笨根目錄下的新文件。
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /leo/index.php/$1 [L] 

保存它,它現在應該工作。

+0

我的主要.htaccess文件是從我的codeigniter目錄開始的,因此沒有什麼區別:/對不起,因爲不清楚而感謝回覆 – mdixon18

+0

@Mthethew你可以嘗試刪除所有內容,只需將這四行粘貼您的.htaccess主文件,並將路徑添加到您的codeigniter根目錄中'base_url'配置設置中。即$ config ['base_url'] \t ='http:// localhost:8888/leo /'; – user3633461

+0

我已經按照你的要求做了,但仍然得到相同的問題,但是當然在URL中添加index.php會破壞它:/ – mdixon18