一朋友使用的万网主机,redhat5.4-64,网店系统是 shopex4.8.5,启用伪静态有几个页面总是为404。而且后台seo设置伪静态URL老提示:您的系统存在无效的.htaccess, 无法启用伪静态。
发现问题出在apache的伪静态模块,到modules下查看没有mod_rewrite.so模块,配置文件中更不用说有载入配置了。通过手动编译,配置好伪静态。重启服务可以了。
源码编译伪静态模块:
一朋友使用的万网主机,redhat5.4-64,网店系统是 shopex4.8.5,启用伪静态有几个页面总是为404。而且后台seo设置伪静态URL老提示:您的系统存在无效的.htaccess, 无法启用伪静态。
发现问题出在apache的伪静态模块,到modules下查看没有mod_rewrite.so模块,配置文件中更不用说有载入配置了。通过手动编译,配置好伪静态。重启服务可以了。
源码编译伪静态模块:
在apache源码中找到mod_rewrite.c文件,如果找不到,可以使用:
find ./ -name mod_rewrite.c 进入 mod_rewrite.c 所在的目录 执行一下:
/usr/local/httpd/bin/apxs -i -a -c mod_rewrite.c
(apxs位置根据实际路径执行)
参数-i 是指执行安装操作,将so 安装到 modules目录,参数-a 是指在httpd.conf中激活该模块,参数-c 是指执行编译错误。
然后在httpd.conf中添加一行:
LoadModule rewrite_module modules/mod_rewrite.so
即可。
可参考下wordpress伪静态,httpd.conf 的配置方法:
https://www.rootop.org/pages/910.html
一个载入错误注意的地方:
[root@uhz002791 bin]# ./httpd -k restart
httpd: Syntax error on line 64 of /var/www/conf/httpd.conf: module rewrite_module is built-in and can’t be loaded
网上资料说模块已经加载,把配置文件中载入模块配置注释掉。重启服务即可。
[root@uhz002791 bin]# ./httpd -l //查看载入模块
mod_rewrite.c
windows7 开始菜单中默认没有“运行”选项,有时候远程桌面操作的时候必须执行cmd,就显得不方便。
方法如下:
单击打开“任务栏和「开始」菜单属性”。
单击“「开始」菜单”选项卡,然后单击“自定义”。
在「开始」菜单选项列表中,选中“‘运行’命令”复选框,然后单击“确定”。“运行”命令将显示在「开始」菜单的右侧。