如果Apache作为服务器环境的服务器(虚拟空间等等),伪静态设置相对比较简单,一个.htaccess就可以实现伪静态了,如果.htaccess文件正确,但是为什么伪静态设置不成功呢?那么可能就是IDC商的问题,可能关闭了伪静态了。
1.检查apache是否开启mod_rewrite。
通过php提供的phpinfo()函数可以查看,有的IDC会关闭一些phpinfo()的信息(甚至关闭phpinfo()函数),如果不关闭是在apache2handler --- Loaded Modules这里面看到有mod_rewrite模块,[break]如果没有看到有mod_rewrite模块,那么就在apache配置文件httpd.conf 中找到“#LoadModule rewrite_module modules/mod_rewrite.so”去掉前面的“#”号,重启apache即可。
2.检查apache是否支持“.htaccess”。
一般从安全性考虑,更目录的AllowOverride属性一般都配置成不允许任何Override,即原文配置是这么写的:
<Directory /> AllowOverride None </Directory>
在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略,也就达不到伪静态的目的。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中,但是这样也相对不安全。
以上设置服务器的话,自己可以修改,但是是虚拟空间的话必须联系IDC商才能让他们解决。