zoukankan      html  css  js  c++  java
  • phpstudy APACHE支持.htaccess以及 No input file specified解决方案

    APACHE支持.htaccess以及 No input file specified解决方案

    你的Apache安装文件夹conf里找到httpd.conf文件

    索LoadModule rewrite_module modules/mod_rewrite.so 如果前面有注释符号#,请去掉。
    搜索Options FollowSymLinks,然后将它下面的AllowOverride None 修改为AllowOverride All;

    【1】

    没想到遇见了 No input file specified   因为项目用了URL route ,估摸着可能是rewrite的问题。

    记录一下解决方案。

    1.检查doc_root 是否设置此值

    2.检查.hta文件 , 很多框架都是index.php当入口文件。

    默认的

    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

    规则在apache fastcgi模式下会导致No input file specified.

    修改成

    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”前面多加了一个“?”号,问题也就随之解决了。

  • 相关阅读:
    Resharper进阶一
    脚本(js)控制页面输入
    IE图标消失 HTML文件图标变为未知图标的解决方法
    memcache_engine + memcachedb = 高性能分布式内存数据库
    sql 求差值
    MSN、QQ的网页链接代码
    IFrame语法:IFrame实例应用集
    Memcache协议
    Windows下的Memcache安装
    文本框 价格 保留两位小数 讨论
  • 原文地址:https://www.cnblogs.com/aleafo/p/5387834.html
Copyright © 2011-2022 走看看