【apache】No input file specified

默認的php

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
規則在apache fastcgi模式下會致使No input file specified.html

修改爲thinkphp

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
就OK,地址正常重寫。apache

咱們都知道,使用僞靜態相對來講,對搜索引擎比較友好,啓用REWRITE的僞靜態功能的時候,首頁能夠訪問,而訪問內頁的時候,就提示:「No input file specified.」。thinkphp5

Wordpress及Typecho等程序默認的.htaccess裏面的規則爲例:搜索引擎

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
修改一下僞靜態規則,以下:url

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
在正則結果「$1」前面多加了一個「?」號,問題也就隨之解決了。code

 

參考連接:htm

【TP5配置隱藏入口index.php文件】https://www.jianshu.com/p/380625ecd01a索引

【thinkphp5.1 tp5.1 安裝 初始化 配置 重寫 url 路由 Rewrite】http://www.mamicode.com/info-detail-2183164.html

相關文章
相關標籤/搜索