你的Apache安裝文件夾conf裏找到httpd.conf文件php
索LoadModule rewrite_module modules/mod_rewrite.so 若是前面有註釋符號#,請去掉。
搜索Options FollowSymLinks,而後將它下面的AllowOverride None 修改成AllowOverride All;apache
【1】框架
沒想到碰見了 No input file specified 由於項目用了URL route ,估摸着多是rewrite的問題。ide
記錄一下解決方案。搜索引擎
1.檢查doc_root 是否設置此值索引
2.檢查.hta文件 , 不少框架都是index.php當入口文件。ci
默認的input
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]it
規則在apache fastcgi模式下會致使No input file specified.io
修改爲
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
就OK,地址正常重寫。
【2】
咱們都知道,使用僞靜態相對來講,對搜索引擎比較友好,而我在Dreamhost的空間上啓用REWRITE的僞靜態功能的時候,首頁能夠訪問,而訪問內頁的時候,就提示:「No input file specified.」。
百度搜索了一下,發現還有其它空間商也有此問題,緣由在於空間所使用的PHP是fast_cgi模式,而在某些狀況下, 不能正確識別path_info所形成的錯誤,就是Wordpress也有同樣的問題,還好找到了解決方案!
咱們首先來看一下Wordpress及Typecho等程序默認的.htaccess裏面的規則:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
而提示是說:「No input file specified.」,也就是說沒有獲得有效的文件路徑。在Google中找到了解決方案,就是修改一下僞靜態規則,以下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
在正則結果「$1」前面多加了一個「?」號,問題也就隨之解決了。