有问题就有答案
Q1:判断Apache服务器是否支持htaccess
通过php提供的phpinfo()函数查看环境配置,在apache2handler — Loaded Moles里看是否有mod_rewrite模块,如没开启则在apache配置文件httpd.conf 中找到#LoadMole rewrite_mole moles/mod_rewrite.so去掉前面的#号,重启apache即可
第二:检测apache是否支持 .htaccess
如测试中不支持.htaccess,那在apache配置文件httpd.conf 中找到<Directory /与</Directory内的AllowOverride None改为AllowOverride All,重启apache即可
Options FollowSymLinks
AllowOverride None改为
Options FollowSymLinks
AllowOverride All
就是把None修改为All}
第三:创建.htaccess 文件
创建.htaccess 文件方法:新建文本文档,名字为htaccess.txt,再打开htaccess.txt另存为,此时注意,名称改为 .htaccess保存即可
第四:测试伪静态实例
.htaccess文件中输入:
Q2:怎样测试服务器是否支持PHP的伪静态?
1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Moles”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置1 如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadMole rewrite_mole”,将前面的”#”号删除即可2 如果没有查找到,则到“LoadMole” 区域,在最后一行加入“LoadMole rewrite_mole moles/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可http://redoufu.com/。2.让apache服务器支持.htaccess 修改httpd.conf文件 Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 注意:除了要设置上面的地方以后,还得设置一下下面这个(网上很多资料都没有讲到这一块),否则你将会配制失败, 把 DocumentRoot 后面的参数改为你本地网站的目录 例如你网站的根目录为 D:/web/则得设置为 DocumentRoot "D:/web/" 也就是修改当前目录 此步骤设置好后也得重启apache服务器才能生效3.建立.htaccess 文件 新建 htaccess.txt 用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,然后点击保存4此文件得保存在网站的根目录4.填写网站伪静态规则 (需要 了解 正则表达式) RewriteEngine on RewriteRule index.html$ index.php RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1 希望能够帮到你和网上的其它朋友,曾经我也在上面绞尽脑汁5
Q3:为什么有的服务器支持.htaccess,有的却不支持?
如果服务器是Win+IIS的话,基本上是不支持.htaccess的如果服务器是Win+Apache的话,是可以支持.htacess6Linux下,如果是apache的话,也可以用.htaccess(简单点说就是apache不管在哪都支持.htaccess)不过关键是apache的配置,有的开放给客户自己改的,有的则屏蔽7有的是开放全部权限的,例如你可以改上传附件的大小限制或内存限制;有的则只有基本的权限,例如你只能做做重定向或改改索引文件Linux下,Ngix是不支持.htaccess的,它有自己的规则,不过可以从.htaccess转过去8Squid好像也不支持,还有lighttpd好像也有自己的规则9
Q4:是什么原因有的服务器支持.htaccess,有的却不支持?
如果你是做服务器端编程语言(专业超文本预处理器的缩写)的,原因可能有两个1.服务器配置问题2.其实也是服务器配置问题,用的是(同移民检查员移民检查)下的服务器端编程语言(专业超文本预处理器的缩写)服务器,这样的话htaccess .是不起作用的,需要配置服务器组件也就是rewrite.dll组件,还有就是写httpd.ini文件10举个例子[ISAPI_Rewrite]# 3600=1小时^/anli_show-([0-9])\11ewritereule上的cacheclockrate 3600 repeat limit 32重写引擎html\?*(.*)$ /anli_show\ .php\?id=$ 1 revriterule^/zhuanjia_show-([0-9])\12html\?*(.*)$/zhajia _ show \ .php\?id=$ 1 revriterule^/shebei_show-([0-9])\13html\?*(.*)$ /shebei_show\ .php\?id=$ 1 revriterule^/zlxm_show-([0-9])\14html\?*(.*)$ /zlxm_show\ .php\?id=$ 1 revriterule^/kqzs_show-([0-9])\15html\?*(.*)$ /kqzs_show\ .php\?id=$1
Q5:iis服务器支持.htaccess文档吗
文档里面添加index.phpdefault.php了吗?还有就是啊帕奇对PHP的支持远胜IIS.啊帕奇WINDOWS环境也可以安装的16
Q6:服务器无法伪静态,如何设置才能支持伪静态?伪静态文件:.htaccess,和web.config,
只有IIS7的伪静态组件使用web.config编写规则,apache的伪静态模块使用17编写规则的htaccess18ISAPI_Rewrite组件支持IIS伪静态19首先,IIS需要安装ISAPI_Rewrite,这是第三方扩展组件,IIS本身并没有自带20如果是ISAPI_Rewrite3的完整商业版,可以直接支持21htaccess文件;否则,在ISAPI_Rewrite的配置文件httpd.conf中修改规则22