zoukankan      html  css  js  c++  java
  • php配置rewrite模块

    (1)    启用rewrite模块,在默认情况下,没有启用

    修改httpd.conf文件

    #启动rewrite模块

    LoadModule rewrite_module modules/mod_rewrite.so

    确认是否启动成功

    <?php phpinfo();?>

    (2)    配置我们的虚拟主机

    httpd.conf 打开虚拟主机的配置文件

    # Virtual hosts

    Include conf/extra/httpd-vhosts.conf

    修改 httpd-vhost.conf

    <VirtualHost *:80>

        DocumentRoot "C:/myenv/apache/htdocs/static2"

        #Directory配置节点,用于指定该目录下的文件或是图片.的访问权限

        #设置虚拟主机的错误页面,欢迎页面

        <Directory "C:/myenv/apache/htdocs/static2">

        </Directory>

    </VirtualHost>

    (3)    在hosts文件中,配置ip和主机的对应关系

    127.0.0.1 www.hsp.com

    (4)    这时我们访问 http//www.hsp.com/news.php

    我们可以访问到该页面.

    ☞ 一个重要的知识点:

    在apache服务器中,如果某个文件夹,没有指定访问权限,则以上级目录的权限为准,如果他自己指定了访问权限,则以自己的为准.

    请注意,在配置访问权限的时候,顺序很重要:

    #Order allow,deny 表示先看allow ,在看deny,留下的就是可以访问

        Order deny,allow

        Deny from all

        allow from 127.0.0.1

    (5)    关于<Directory> 节点配置必须掌握

    比较完整的配置文件

    第一种配置方式

    <VirtualHost *:80>

        DocumentRoot "C:/myenv/apache/htdocs/static2"

        #Directory配置节点,用于指定该目录下的文件或是图片.的访问权限

        #设置虚拟主机的错误页面,欢迎页面

        ServerName www.hsp.com

        <Directory "C:/myenv/apache/htdocs/static2">

           #这里可以指定是否让人访问

           #Allow from all

           #是否列出文件目录结构

           # 如果希望列出 indexes 不希望 none

           #Options indexes

           #如何配置网站的首页面

           DirectoryIndex abc.html abc2.html

           #如何配置404错误页面,引导用户引入新页面

           errorDocument 404 /404.html

           #配置我们的rewrite规则

           RewriteEngine On

           #rewrite的规则 如果 aaa.html 就跳转到news.php

           #$1 表示反向引用,第一个子表达式的内容

           #说明如果在正则规范中直接引用子表达式的内容,则使用

           #如果是在后面因为,则使用$n

           RewriteRule news-([a-zA-Z]+)-id(d+).html$  news.php?type=$1&id=$2

        </Directory>

    </VirtualHost>

    特别说明: 容易犯的错误,一定要记住启用rewrite模块.

    思考: 上面我们配置都要去修改 httpd-vhost.文件,但管理员不给你这个权限,怎么办?

    思路: 可以把配置,写到 .htaccess文件.

    第二种配置方式: 即把一部分配置放在 http-vhost.conf 文件, 把rewrite 规则放在 .htaccess

    <VirtualHost *:80>

        DocumentRoot "C:/myenv/apache/htdocs/static2"

        #Directory配置节点,用于指定该目录下的文件或是图片.的访问权限

        #设置虚拟主机的错误页面,欢迎页面

        ServerName www.hsp.com

        <Directory "C:/myenv/apache/htdocs/static2">

           #这里可以指定是否让人访问

           #Allow from all

           #是否列出文件目录结构

           # 如果希望列出 indexes 不希望 none

           #Options indexes

           #如何配置网站的首页面

           DirectoryIndex abc.html abc2.html

           #如何配置404错误页面,引导用户引入新页面

           errorDocument 404 /404.html

           #如果你配置了allowoverride all 这表示到对应的目录的.htaccess去匹配规则

           allowoverride all

        </Directory>

    </VirtualHost>

    在对应的文件下 .htaccess文件

    <IfModule rewrite_module>

    #如果rewrite 模块启用

    #配置我们的rewrite规则

    RewriteEngine On

    #rewrite的规则 如果 aaa.html 就跳转到news.php

    #$1 表示反向引用,第一个子表达式的内容

    #说明如果在正则规范中直接引用子表达式的内容,则使用

    #如果是在后面因为,则使用$n

    RewriteRule news-([a-zA-Z]+)-id(d+).html$  news.php?type=$1&id=$2

    #RewriteRule aaa.html  news.php

    </IfModule>

    请注意: 项目中的 .htaccess文件的配置也是继承管理

    第三种配置方法:

    http-vhost.conf

    <VirtualHost *:80>

        DocumentRoot "C:/myenv/apache/htdocs/static2"

        #Directory配置节点,用于指定该目录下的文件或是图片.的访问权限

        #设置虚拟主机的错误页面,欢迎页面

        ServerName www.hsp.com

        <Directory "C:/myenv/apache/htdocs/static2">

           #如果你配置了allowoverride all 这表示到对应的目录的.htaccess去匹配规则

           allowoverride all

        </Directory>

    </VirtualHost>

    .htacces文件

    #这里可以指定是否让人访问

           #Allow from all

           #是否列出文件目录结构

           # 如果希望列出 indexes 不希望 none

           #Options indexes

           #如何配置网站的首页面

           DirectoryIndex abc.html abc2.html

           #如何配置404错误页面,引导用户引入新页面

           errorDocument 404 /404.html

    <IfModule rewrite_module>

    #如果rewrite 模块启用

    #配置我们的rewrite规则

    RewriteEngine On

    #rewrite的规则 如果 aaa.html 就跳转到news.php

    #$1 表示反向引用,第一个子表达式的内容

    #说明如果在正则规范中直接引用子表达式的内容,则使用

    #如果是在后面因为,则使用$n

    RewriteRule news-([a-zA-Z]+)-id(d+).html$  news.php?type=$1&id=$2

    #RewriteRule aaa.html  news.php

    </IfModule>

  • 相关阅读:
    MySQL事务隔离级别(InnoDB)
    Kettle连接SQL Server数据库
    jstack分析Java进程信息
    Java对Map集合进行排序
    Java堆分析 jmap+jhat
    Oracle列转行 参数动态传入iBatis使用示例
    Hive UDF函数测试
    test
    《串并行数据结构与算法(SML语言)实验》题解
    educoder SML程序设计题线下编译环境搭建
  • 原文地址:https://www.cnblogs.com/youxianyen/p/7289460.html
Copyright © 2011-2022 走看看