1、源码如果是必须要的话,那就必须设置,如果是原生态的话,那就根据开发的实际情况来看是否需要设置伪静态,比如,ThinkPHP,smart,这些都是需要伪静态支持,不然无法准备访问目标页面的;location if !e $request_filename rewrite ^*$ indexphp?s=$1 last location ~ *\phpphp5? fastcgi_pass unixtmpphpcgisockfastcgi_pass 9000fastcgi_i;这不是thinkphp的问题,是浏览器和你的程序共同导致的,有的浏览器会将连接中的url编码自动转换成明码,这样,你的程序拿到的关键词是明码的关键词,再进行url转码就会出现乱码浏览器这里我们没法控制,可以考虑将关键词以;thinkphp32 linux上的nginx伪静态配置好之后,访问一直显示无法加载模块Indexphp 伪静态配置在location里不管访问,全部都是显示无法加载模块Indexphp比如indexphpfafafa,indexphp访问这个是正常的 伪。
2、确认是否参数传错确认你的伪静态规则是否正常,一般在根目录htaccess文件,或者在nginx自己修改rewrite规则,特别注意下M,A这里的规则很多时候容易错了断点打印404页面路由访问,看是否路由正常;可以在命令行输入phpthinktest来检查2在宝塔面板中,尝试重新启动守护管理器如果该操作无效,可以尝试停止并重新启动守护管理器3如果上述方法都无法解决问题,可以尝试通过修改守护管理器的配置文件来解决。
3、如果你的服务器环境支持ISAPI_Rewrite的话,可以配置;在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginxconf中配置转发规则实现location 省略部分代码 if !e $request_filename rewrite ^*$ indexphp?s=$1 lastbreak;首先你的项目的config文件中要配置这一项 #39URL_MODEL#39= 2, rewrite 在服务器中切换到nginx的安装目录,我这里是 usrlocalnginx然后添加thinkphpconf 文件 vim usrlocalnginxconfthinkphpconf 内容如下;伪静态的好处是SEO友好,更容易让搜索引擎搜索到现在我们可以通过localhosthlmAccountlogin来访问了ThinkPHP还支持路由功能,路由功能意思也很简单,就是和配置htaccess文件重写路由一样,控制页面跳转,显示地址和实际跳转。
4、满足thinkphp伪静态url重写条件1 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis60就要安装ISAPI Rewrite模块,apache只要开启Mod_rewrite功能就可以了无忧主机是linux系;你可以在indexphp中定义域名常量,例如SITE_URL,将css,javascript等存在public文件夹 定义css路径常量为CSS_URL=SITE_URL#39public#39,这样直接在模板$stylecss即可;ThinkPHPconfconventionphp * URL设置 * #39URL_CASE_INSENSITIVE#39 = true, 默认false 表示URL区分大小写 true则表示不区分大小写 #39URL_MODEL#39 = 1, URL访问模式,可选参数0123;确认你分页连接地址是否正常确认是否参数传错确认你的伪静态规则是否正常,一般在根目录htaccess文件,或者在nginx自己修改rewrite规则,特别注意下M,A这里的规则很多时候容易错了断点打印404页面路由访问,看是否路由;所谓伪静态,不是把原始地址A“展示”为静态地址B,而是使用静态地址B,通过规则把它重新“解析”为地址Ahtaacess规则的两个参数可能用反了,清空缓存,再试试。
5、其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称location youdomain;内容如下ISAPI_RewriteDefend your computer from some worm attacksRewriteRule *?globalasadefault\idaroot\exe\\* F,I,ORewriteRule ?!indexphp?!adminphp?!Admin?。