伪静态设置

Posted fuhuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪静态设置相关的知识,希望对你有一定的参考价值。

【解决一】设置apache伪静态出现404 not found及You don‘t have permission to access / on this server解决方法。
【解决二】APACHE支持.htaccess以及 No input file specified解决方案
-【404 not found及You don‘t have permission to access / on this server解决方法】----------

确保LoadModule rewrite_module modules/mod_rewrite.so开启

Options FollowSymLinks
AllowOverride none  #此处把none 改成All
Order allow,deny
deny from all

出现:You don‘t have permission to access / on this server

Options FollowSymLinks  #此处将FollowSymLinks改为All
AllowOverride none  #此处把none 改成All
Order allow,deny
deny from all  #此处把deny改成Allow

【APACHE支持.htaccess以及 No input file specified解决方案】-
在你的Apache安装文件夹conf里找到httpd.conf文件

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

没想到遇见了 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]

启用REWRITE的伪静态功能访问内页就提示:“No input file specified.”,所使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误,.htaccess里面的规则:
RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

而提示是说:“No input file specified.”,也就是说没有得到有效的文件路径.
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] 
在正则结果“$1”前面多加了一个“?”号,问题也就随之解决了。

在config.inc.php 中加入 define("__TYPECHO_DEBUG__",true); 看出错信息
cgi.fix_pathinfo
遇到错误,首先第一个需要做的事情,就是打开typecho的调试模式。在index.php最开始加入如下代码:

file: index.php
define(‘__TYPECHO_DEBUG__‘,true);//add by https://www.typechodev.com
然后再次访问,出现

  

以上是关于伪静态设置的主要内容,如果未能解决你的问题,请参考以下文章

伪静态设置问题 帝国cms

帝国cms伪静态设置问题

WordPress伪静态规则设置

宝塔面板设置伪静态规则

Nginx/Apache之伪静态设置 - 运维小结

在Windows主机下安装的WordPress,设置成伪静态后网页中的图片无法显示,请问这是怎么回事?