apache 开启伪静态 Rewrite及检测
apache 开启伪静态 Rewrite及检测
http://www.111cn.net/phper/apache/54330.htm
帮朋友配置一个PHP的网站,没想到遇到PHP网页转伪静态HTML网页无法显示的问题。一开始没想到是apache的配置问题,一直在php代码里面找原因。浪费不少时间。写下了作为记录。
1. 配置网站:
将PHP网站的所有文件拷贝至apache的目录 /var/www/html 下面。
2. 迁移Mysql数据库
从正式库中导出Mysql:
mysqldump -uroot -ppassword --databases dbname>mysql.dbname
导入新的服务器中(当然需要提前装好Mysql)
从本机导入
mysql -uusername -ppassword databasename<backupfile.sql
username:数据库管理员
password:数据库密码
databasename:数据库名称
--远程导入数据
mysql -hhostname -uusername -ppassword databasename<backupfile.sql
hostname 是服务器IP
username:数据库管理员
password:数据库密码
databasename:数据库名称
3. 修改网站连数据库的配置
一般是config.php这个文件,这个文件在类似data的文件夹下面
修改以下几项:
host
databasename
user
password
4.原则上配好上面的,启动数据库和apache就可以了。没想到还有php转html页面。
原网站是在windows2003+IIS6.0上面配置的。
网站根目录下有个htaccess.txt文件,就是用来做转义的事情。
新的服务器是linux,网站迁移后htaccess.txt 需要重命名为“.htaccess”,注意字母h前面有个“."号。
5. 修改linux上面的apache的httpd.conf文件
路径:/etc/httpd/conf
按照网上找到的说明修改:
找出httpd.conf中的“AllowOverride None”,全部修改为“AllowOverride All”。
6. 重启apache服务。网站就能正常使用了,php网页转静态html页面也能正常显示。
总结:
基本处理思路就是这样的,原网站下的所有文件打包备份,迁移到新网站后重新架设。遇到问题后要逐步排除,首先我检查了迁移文件的数量和大小是否和原来的一致,再检查还原后的数据库是否一致。再检查还原后的数据库连接是否正常。都正常的话,继续检查源代码。后来转换思路,原网站能正常访问,迁移后就不能访问,应该和源代码没有太大关系的,最后还是检查apache的配置,发现apache 不是默认就开启伪静态的。想办法开启伪静态后再测试,发现网站可以正常使用了。
后面要对服务器做些备份策略。之后才能说完成任务。