https://segmentfault.com/q/1010000005100662

thinkphp应用的根目录下.htaccess中的内容是:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

相同的代码放 到wamp的环境中开启相同的设置,是没有问题的。
求解!!!

很久以前的提问,当时确实找了挺久的,后来找到原因了,现在补充上来:

Apache开启伪静态的总结
一般简单的几步:
1.去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#
2。把AllowOverride none 改为 AllowOverride All
一般有两个地方,都改一下:cgi-bin与www目录下,有些还是/目录下的,可以不改
3.保存后重启apache即可。
4.在项目部的根目录加上.htaccess文件,内容为:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

走完以上四步,伪静态就应该完成了,以Thinkphp为例,打开项目后,把/index.php去掉也应该是可以正常访问的。

如果以上都没有问题,再在配置文件中设置一下路由模式:'URL_MODEL' => '2'

一般走到这一步就没有问题了,我在wamp的环境下使用是没有问题的。

但当我把项目放到phpStudy的环境下时却不行了,找了很久没有发现原因。但其它电脑中的phpStudy又可以开启伪静态,于是把那个httpd.conf文件拿过来认真对比一下看有哪些的设置不同。

于是找到了UltraEdit这个工具可以很方便地对比两个文件的内容,又认真对比了一下,发现可能是开启伪静态的那个文件多了一行:
Include conf/extra/httpd-php-sapi55.conf
于是,加上去,问题解决,伪静态在phpStudy的环境下也成功了。

但是新的问题又出现了,由于项目中需要用到soap的拓展,当加上以上那一行的时候,soap拓展就不能用了!!!!!

然后我又想到了对比工具,想到了wamp中的httpd.conf文件,打开来对比一下,发现wamp中也并没有加那一行,为什么能开启伪静态呢?

对比后发现phpStudy的httpd.conf中多出了fcgid这个东西,于是去搜索发现了这篇文章:http://www.admin10000.com/Doc... 终于找到真正的原因了,原来wamp是用Apache模块模式的,而phpStudy用的是FactCGI模式。

然后再搜索“apache在FastCGI模式下开启伪静态”,于是找到了这篇文章:
http://www.upupw.net/bug/n40.... 问题马上解决了,只要把.htaccess文件中的#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改成RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
这样,phpStudy下也可以正常开启伪静态,并且不影响soap拓展的使用了

用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?的更多相关文章

  1. 两步搞定一台电脑同时开启多个tomcat

    1. 修改tomcat中的某些参数,为了避免启动tomcat时出现冲突,编辑bin/startup.bat, 在文件第一行添加如下两行(必须第一行才有效) SET JAVA_HOME=C:\webso ...

  2. PHPCMS开启伪静态和织梦开启伪静态的优缺点比较

    PHPCMS和织梦CMS都是国内比较出名的PHP语言的CMS程序系统,他们拥有比较完善的网站内容管理功能,也比较注重网站优化方面的功能,深受很多网站建设者的喜爱. 这两套系统,都有启用伪静态的功能,在 ...

  3. URL优化之IIS7如何开启伪静态

    iis7跟IIS6开启伪静态重写的方式不一样,iis6是在网站属性里面的ISAPI筛选器里面添加,但是iis7添加伪静态重写,需要下载一个url重写插件. II7/7.5用的是web.config配置 ...

  4. 建设商城网站ecshop如何开启伪静态

    ecshop是国内一款比较流行的商城网站建设系统,它拥有比较完善的电子商务交易流程,其使用PHP+网站建设者的喜爱.   商城网站也需要网站优化,开启伪静态是个比较好的方法.   ECSHOP的伪静态 ...

  5. 网站优化之PHPCMS如何开启伪静态

    做为一名网站优化方面的工作,那么选择CMS系统的时候,有良好的网站优化功能就是一个好的CMS的标准之一,而系统是否支持伪静态,则是URL优化的工作之一,而PHPCMS是一款网站优化方面做得比较成功的C ...

  6. 织梦系统dedecms如何开启伪静态

    做为一名网站建设工程师,必须要考虑到网站优化方面的工作,那么选择CMS系统的时候,有良好的网站 优化功能就是一个好的CMS的标准之一,而系统是否支持伪静态,则是URL优化的工作之一,而织梦系统能良好的 ...

  7. Apache开启伪静态后报500错误.

    参考:http://blog.163.com/lgh_2002/blog/static/44017526201051452939761/ 加载Rewrite模块: 在conf目录下httpd.conf ...

  8. IIS开启伪静态后html静态页面无法访问的解决方法

    IIS开启伪静态后,发现原本存在的html静态页面无法访问了,显示的404错误.网上查了下,是因为实现伪静态就是使用 URLRewriter 来映射后缀,会把asp等动态页面映射成html,但是原来存 ...

  9. shopnc B2B2C商城 Nginx下开启伪静态

    B2B2C商城 Nginx下开启伪静态,伪静态开启后,对系统的SEO极为有利,可以最大限度让商城页面被搜索引擎抓取,但在实际安装中,很多客户在这块都会遇到各种各样的问题. 1. 编辑商城配置文件(da ...

随机推荐

  1. Using F2 to Rename Open Files

    Copy to your User keymap { "keys": ["shift+f2"], "command": "rena ...

  2. Web API系列之二WebApi基础框架搭建

    本文主要介绍如何搭建一个WebApi的项目.关于如何搭建WebApi的方式一共有两种: 一.通过vs直接新建一个WebApi的项目,步骤如下: 第一步: 新建一个空的Web应用程序,可以理解为作为We ...

  3. Macaca环境搭建踩坑总结

    1.使用命令 npm i macaca-android -g 安装一直不成功,使用Macaca  doctor 一直没有显示出android C:\Users\ABC>npm i macaca- ...

  4. 源码中的哲学——通过构建者模式创建SparkSession

    spark2.2在使用的时候使用的是SparkSession,这个SparkSession创建的时候很明显的使用了创建者模式.通过观察源代码,简单的模拟了下,可以当作以后编码风格的参考: 官方使用 i ...

  5. Git详解之一:Git起步

    起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...

  6. javascript计算对象的长度

    计算对象的长度,即获取对象属性的个数 方法一:通过for in 遍历对象,并通过hasOwnProperty判断是否是对象自身可枚举的属性 var obj = {"c1":1,&q ...

  7. 高效的CSS代码(2)

    ——阅读笔记,欢迎纠错^_^ 内容比较零散..... 1.让浮动元素的父容器根据元素的高度而自适应高度的方法: <div class="clearfix"><di ...

  8. 企业网盘: Owncloud 搭建

    说明:搭建很简单,就是一个lamp环境,但是最新的owncloud 9.x版本对php的版本需求不能低于5.4, 所以需要下载yum源来进行安装. 搭建过程 1)配置yum源 rpm -Uvh htt ...

  9. class java.awt.HeadlessException : No X11 DISPLAY variable was set, but this program performed an operation which requires it.

    今天上午打印回单功能发布到测试环境,报了: class java.awt.HeadlessException : No X11 DISPLAY variable was set, but this p ...

  10. 通过window.location.search获取页面url传递的参数

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...