虚拟主机伪静态隐藏index.php

虚拟主机“流量”指的是什么?
2018年3月10日
虚拟主机如何部署SSL证书 并启用HTTPS访问网站(下)
2018年3月12日

前言】 客户一个网站上传到虚拟主机后无法访问,寻求帮助。经过核实后发现mysql数据库为空,未导入mysql数据库,上传mysql备份脚本后,通过主机控制面板协助导入。但是导入后访问首页即返回404错误页面,后台管理admin.php可正常访问。仔细检查发现数据库配置文件中的连接mysql的用户名和密码都未更改,更改后问题得到解决,首页可正常访问。

伪静态规则】上述问题解决后,发现内页无法访问,具体问题如下:

https://www.xxx.com/us/company

https://www.xxx.com/products

之类链接无法访问,链接更改为如下后可正常访问:

https://www.xxx.com/index.php/us/company

https://www.xxx.com/index.php/products

经过与客户和虚拟主机提供商联系了解到如下情况:

  1. 网站程序使用ThinkPHP框架开发;

  2. 虚拟主机环境为:Windows 2003 64位,IIS6.0,伪静态组件:ISAPI Rewrite 2.7

  3. 网站根目录首页文件只有一个index.php;

将如下伪静态规则写入httpsd.ini文件中,上传到网站根目录,问题解决:

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

RewriteRule /(?!Application)(?!Public)(?!admin.php)(?!Uploads)(.*) /index.php/$1

完成后测试访问以下链接均正常:

https://www.xxx.com/us/company

https://www.xxx.com/products

https://www.xxx.com/admin.php

总结很多问题其实并不复杂,只需要认真、细心、耐心即可解决。

发表评论

电子邮件地址不会被公开。 必填项已用*标注