apache配置rewrite及.htaccess文件

apache配置rewrite及.htaccess文件

今天看到一个哥们的帖子发了个rewrite的帖子,以前也写过一个,配置挺简单的,但当时没注意这个问题,当时没有用到.htaccess文件,在机子上测试了一下,发现确实没法用,于是开始找问题的所在。

创新互联公司服务项目包括元谋网站建设、元谋网站制作、元谋网页制作以及元谋网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,元谋网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到元谋省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

自己从头搭建了一下:

首先确定您使用的 Apache 版本,及是否加载了

mod_Rewrite

模块。

简单方法

echo phpinfo();

看apache的mod里有没有

rewrite

如果有跳过此步

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:

LoadModule Rewrite_module libexec/mod_Rewrite.so

AddModule mod_Rewrite.c

Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:

LoadModule Rewrite_module modules/mod_Rewrite.so

注: 这里输入引用文本:如果前面有#,将其去掉。并且保证你的apache文件里有mod_Rewrite.so文件(1.X版的要有mod_Rewrite.c)。

配置Apache配置文件httpd.conf实现rewrite

找到

<IfModule mod_Rewrite.c> </IfModule>

没有的自己添加,然后之间写入你的rewrite规则,例如:

<IfModule mod_Rewrite.c> RewriteEngine On RewriteRule ^test.htm$ test.php </IfModule>

3.此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用,重启apache,rewrite配置就完了。

4.让apache支持.htaccess

<IfModule mod_Rewrite.c>

里的代码删除掉

找到

复制代码

<Directory /> Options FollowSymLinks AllowOverride None </Directory>

复制代码 把里边的

AllowOverride None

改为

Allow Override All

这样.htaccess文件才能启用。

5.创建一个.htaccess文件,win下可以用notepad++之类的编辑器建(记事本不行),要是嫌麻烦此文档附件中有,放在项目目录下,然后在里边写上自己的规则。

RewriteEngine on Rewriterule ^test.htm$ test.php

6.重启apache就行了

7.一般的apache以上配置就行了,但我的还不行,所以研究了一下apache的配置文件发现了这样一个参数:

AccessFileName access.ht

意思是;AccessFileName定义每个目录下的访问控制文件的文件名,缺省为.htaccess (大多数人直接就是.htaccess,所以好多网上教程都没写这步,而我的是access.ht),可以通过更改这个文件,来改变不同目录的访问控制限制。

将之改为

AccessFileName .htaccess

8.重启apache就行了。

题外:.htaccess位置问题:htaccess文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。(每一个文件夹下都可以有个.htaccess文件)

新闻名称:apache配置rewrite及.htaccess文件
分享网址:https://www.cdcxhl.com/article42/cjcohc.html

成都网站建设公司_创新互联,为您提供建站公司网站建设品牌网站设计搜索引擎优化微信公众号网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司