2017-09-09 65 views
0

我遇到了問題no input file specifiedCodeigniter - 沒有指定輸入文件 - 爲什麼「?」解決這個問題?

我對計算器的題目發現,index.php文件

後解決了這個變化

RewriteRule ^(.*)$ index.php/$1 [L]RewriteRule ^(.*)$ index.php?/$1 [L]

加問號和它的工作。

一切看起來像:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

但爲什麼這個工作? index.php實際上做了什麼後加了什麼問號?爲什麼這使一切正常?

我一直在尋找和尋找這樣的答案在這樣的所有主題,我沒有找到任何答案我的問題。

我只發現它probably的工作原理和需要,因爲index.php不在根directoryl,但我不知道這一點。

我的目錄是這樣的:

/ (root folder) 
--->application (app folder of framework) 
--->myDomain.dx.am (my domain folder) 
-------->index.php 
-------->.htaccess (htaccess here) 
-------->other_files 
................... 
--->system (system folder of framework) 

我只尋求這個答案,我很好奇,我想知道爲什麼這項工作又如何?

+1

您可能需要使用「阿帕奇」來標記,這樣的人有良好的Apache的經驗會告訴你,但是這一切都歸結爲服務器配置和Apache的服務器甚至特定版本正在使用。 –

回答

0

請遵循一些步驟:

  1. 轉到的application/config/config.php文件: 更換$config['index_page'] = 'index.php';$config['index_page'] = ''; 和 到$config['uri_protocol'] = 'AUTO';

  2. 能夠通過
    sudo a2enmod rewrite 重寫模式,然後 service apache2 restart

  3. 如果你願意,你可以使用下面的.htaccess文件。

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>