用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?…

用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?…

 

https://segmentfault.com/q/1010000005100662用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?...

用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?...

用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?...

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拓展的使用了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113585.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JPA:@Modifying注解(UPDATE或者DELETE)

    JPA:@Modifying注解(UPDATE或者DELETE)通过 Modifying 注解可以完成修改 UPDATE 或者 DELETE 操作 注意 不支持新增 示例 packagecom newcapec dao repository pay importcom newcapec dao domain UserEnroll importorg springframew data jpa repository JpaRe

    2025年9月6日
    3
  • 搭建nginx rtmp流媒体服务器(超详细)_nginx rtmp 集群

    搭建nginx rtmp流媒体服务器(超详细)_nginx rtmp 集群简单的直播搭建流程本微博在借鉴其他大牛之后,觉得应该写一个直播的完整流程,虽然简单,但是会有一个宏观感受:搭建nginx服务器工具:nginx下载地址:https://nginx.org/download/nginx-1.13.6.zipnginx-rtmp-module-master.zip下载地址:https://github.com/arut/nginx-rtmp-mo

    2025年11月28日
    6
  • git安装教程 windows10_灯保姆安装公司

    git安装教程 windows10_灯保姆安装公司git安装与使用的保姆级教程,图文齐全,一步一步教,小白看了都说好~,安装、使用、创建仓库、同步代码、检查代码、创建分支、合并主分支等等…

    2025年8月30日
    5
  • K3 官改新手小白配置阿里DDNS 超级详细「建议收藏」

    K3 官改新手小白配置阿里DDNS 超级详细「建议收藏」K3官改新手小白配置阿里DDNS超级详细写的比较仓促,不对之处请指正,这个是写给小白看的,大神勿喷首先介绍一下什么是DDNSDDNS(DynamicDomainNameServer)是动态域名服务的缩写。DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器…

    2022年6月12日
    44
  • linux 宝塔 卸载mysql_宝塔面板(linux)卸载的一些方法的整理以及卸载之后一些文件的删除…

    linux 宝塔 卸载mysql_宝塔面板(linux)卸载的一些方法的整理以及卸载之后一些文件的删除…大鸟说过很多宝塔面板的教程,貌似没说过如何卸载宝塔面板,如果我们安装一款面板,都会要求要干净纯净的系统,就是说,如果你安装过环境可能会导致安装不成功。宝塔面板可以安装,当然也可以卸载,官方也给出了卸载脚本,大鸟把这些方法罗列下写在这里。一:脚本卸载1你需要先在面板中将通过面板安装的所有软件卸载,如nginx、mysql、php等等然后,进入SSH命令行,输入以下命令:/etc/init.d/bt…

    2025年9月16日
    7
  • Java面试题大全(2021版)

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~本套Java面试题大全,全的不能再全,哈哈~一、Java基础知识面试题1、Java概述①.何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机

    2022年4月17日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号