php配置前缀为任一个 .htacess,httpd.ini和.htaccess的写法与配置规则

从昨天到今天下午,我一直都在学习这个东东。由于本站所在主机的服务器是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 "?"我们也要转义。这就是特别特别要小心的地方。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部