httpd.ini和.htaccess的写法与配置规则

  作者:bea

从昨天到今天下午,我一直都在学习这个东东。由于本站所在主机的服务器是IIS的,我以前本地测试的时候一直都是用的Apache服务器,在网站URL重写这块固然也是用的.htaccess文件来实现的。但是网站所在的服务器不支持.htaccess,所以只好用httpd.ini来实现。刚开始的时候确实不知道从哪里入手,现在算是会了,在这里发表下,希望对遇到同样困难的朋友有所帮助。 .htaccess实现URL重写: 在写.htaccess配置文件时你必须使你的Apache服务器支持
从昨天到今天下午,我一直都在学习这个东东。由于本站所在主机的服务器是IIS的,我以前本地测试的时候一直都是用的Apache服务器,在网站URL重写这块固然也是用的.htaccess文件来实现的。但是网站所在的服务器不支持.htaccess,所以只好用httpd.ini来实现。刚开始的时候确实不知道从哪里入手,现在算是会了,在这里发表下,希望对遇到同样困难的朋友有所帮助。
.htaccess实现URL重写:
在写.htaccess配置文件时你必须使你的Apache服务器支持这个功能。方法是:打开apache的配置文件httpd.conf,找到这一行:LoadModule rewrite_module modules/mod_rewrite.so
去掉这一行的前面有个#号,表示apache现在已经支持URL重写了。继续查找.htaccess找到这几个单词:AllowOverride None 将none修改为All 然后重启apache服务器就OK了。现在你可以开始写.htaccess文件啦。在你的项目下新建一个.htaccess文件,注意不要文件名哦,但是windows系统默认不能新建没有文件名的文件,这样你可以安装一个vim编辑器,具体新建的方法是:先打开这个编辑器,输入任何一段代码,再按ESC键,然后按住shift键和“:”号键,这时在编辑器的最底下出现了一个冒号“:”,这时输入save .htaccess就把这个文件的文件名保存为了我们想要的.htaccess,然后就是打开这个文件往里面写我们URL重写的规则了。
输入以下代码:

RewriteEngine On #注释:开启URL重写引擎
RewriteRule ^index.html$ /aichengxu/index.php [L] #注释:URL重写规则

估计学PHP的这方面都没有什么问题,毕竟正则表达式在PHP里面都已经非常的详尽了。下面我们来讲一下IIS下的httpd.ini的写法和规则。
httpd.ini实现URL重写:
首先在项目下新建一个httpd.ini文件,打开后在前面几行输入以下代码:
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
接下来就跟.htaccess 规则一样开始写重写规则了。但是我们要非常注意他们不同的地方,这也是困扰小编这么久才弄懂的实质性的地方;
比如我这样来写几个规则:
RewriteRule ^/index.html$ /index.php [L]
RewriteRule ^/search_result.html$ /search_result.php [L]
特别注意的地方在于我们要把特殊的字符要用“”,比如上面的 .html 和 .php "?"我们也要转义。这就是特别特别要小心的地方。小编就是应为这个才弄了很久的。呵呵,希望大家
不要跟小编一样走这么多的弯路。
(本站原创作品欢迎转载!转载请注明来自:信鸽网 网址注明:http://www.xinge360.com) 有用  |  无用

猜你喜欢