zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [转发]深入理解git,从研究git目录开始
    iOS系统网络抓包方法
    charles抓包工具
    iOS多线程中performSelector: 和dispatch_time的不同
    IOS Core Animation Advanced Techniques的学习笔记(五)
    IOS Core Animation Advanced Techniques的学习笔记(四)
    IOS Core Animation Advanced Techniques的学习笔记(三)
    IOS Core Animation Advanced Techniques的学习笔记(二)
    IOS Core Animation Advanced Techniques的学习笔记(一)
    VirtualBox复制CentOS后提示Device eth0 does not seem to be present的解决方法
  • 原文地址:https://www.cnblogs.com/mrcln/p/5635515.html
Copyright © 2011-2022 走看看