zoukankan      html  css  js  c++  java
  • 【apache】No input file specified

    默认的

    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    规则在apache fastcgi模式下会导致No input file specified.

    修改成

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

    我们都知道,使用伪静态相对来说,对搜索引擎比较友好,启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:“No input file specified.”。

    Wordpress及Typecho等程序默认的.htaccess里面的规则为例:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]
    修改一下伪静态规则,如下:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    在正则结果“$1”前面多加了一个“?”号,问题也就随之解决了。

    参考链接:

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

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

  • 相关阅读:
    PHP通过日志来发现问题
    php环境重启
    排行榜的实现
    git相关使用技巧和问题
    lua State加载部分库
    c++ 解析json
    查看某个进程允许打开的最大文件描述符
    glog安装与使用
    ubuntu update-alternatives
    gcc安装多个版本
  • 原文地址:https://www.cnblogs.com/opensmarty/p/10638111.html
Copyright © 2011-2022 走看看