• apache配置rewrite及.htaccess文件(转载)


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

    自己从头搭建了一下:

    1.  首先确定您使用的 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)。
    2.  配置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文件)

    转载自:http://www.cnblogs.com/banruo/archive/2010/11/02/1867536.html

  • 相关阅读:
    JavaScript设计模式(策略模式)
    JavaScript设计模式(单例模式)
    react中数据持久化缓存redux-persist
    webpack编写一个plugin插件
    webpack自定义loader并发布
    Vue用递归实现一个消除输入框表情符的自定义directive
    Spring MVC表单防重复提交
    @Controller,@Service,@Repository,@Component详解
    Spring Enable*高级应用及原理
    Spring Aware容器感知技术
  • 原文地址:https://www.cnblogs.com/mrcln/p/5635515.html
Copyright © 2020-2023  润新知