• php伪静态配置


    配置虚拟主机和伪静态

    1.开启Apache的rewrite模块

       LoadModule rewrite_module modules/mod_rewrite.so

    2.开启虚拟主机功能

      # Virtual hosts
       Include conf/extra/httpd-vhosts.conf

    3.修改conf/extra/httpd-vhosts.conf文件

    <VirtualHost *:80>

      DocumentRoot "F:/wamp/www/Teacher"   指定访问目录
      ServerName www.baidu.com                   指定允许访问的域名
      <Directory "F:/wamp/www/Teacher">      对这个目录进行设置

          Deny from all   禁止任何人访问,不写可以访问,是因为如果此目录没做设置,会继承他的上级目录来权限;如果上级目录禁止访问,可以再此目录中写Allow from all则这个目录就可以访问,不会继承父目录的权限

            Options none  不允许服务器显示目录中的文件列表,允许就改成Options indexes

             DirectoryIndex  abc.html  123.html 配置目录指定首页面,默认是index,指定后先选择abc.html,如果没有再显示123.html

             errorDocument  404  /404.html  指定发生错误后显示的页面,errorDocument后跟HTTP状态码,当遇到这种状态吗,就会执行后面指定的页面

             allowoverride all  允许到对应目录的.htaccess文件中 读取规则

            下面配置rewrite规则

             RewriteEngine On  开启重新功能(一定要检测是否启用mod_rewrite.so模块)

           RewriteRule   a.html  b.php  当访问a.html页面时,其实是访问b.php

             RewriteRule   news/id/(d+).html   news.php?id=$1   为了广泛的使用,可以使用正则来匹配news/id/100.html这种都执向news.php,接收的参数就是前面匹配的数值

      </Directory>
    </VirtualHost>

    4.htaccess文件的写法

      在没有权限修改httpd-vhosts.conf文件的情况系下,可以使用.htaccess文件来做目录权限,如果.htaccess用不了,就看看httpd-vhosts.conf文件是否开启了allowoverride all

       <IfModule  rewrite_module>  #如果加载了rewrite_module模块

           这些规则和 httpd-vhosts.conf文件中的规则写法一样

       RewriteEngine On

           RewriteRule   news/id/(d+).html   news.php?id=$1  

           可以写多条规则

       </IfModule>

    5.做防盗链

    <IfModule rewrite_module>
      RewriteEngine on
      RewriteCond %{HTTP_REFERER} !^http://(www.)?xuni.com(/)?.*$ [NC]
      RewriteRule .*.(gif|jpg|jpeg|bmp|png)$ http://www.xuni.com/warning.xjpg [R,NC]
    </IfModule>

    6.在C:WindowsSystem32driversetc的host文件中添加域名指向到本地127.0.0.1       www.xuni.com

    注意:在配置好后,打开localhost发现提示403错误,是因为开启了虚拟主机功能(第二步),在httpd-vhosts.conf文件中默认添加了几条规则,因为用的是Wamp环境,里面的DocumentRoot不是Wamp指定的根目录,导致localhost定位到的目录不对,这就是导致localhost不能访问403的原因,只要把默认的规则修改下

    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "f:/wamp/www"            #访问的根目录
    ServerName localhost                          #允许访问的域名
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
    </VirtualHost>

    然后在后面添加自己需要的规则

  • 相关阅读:
    python pandas里面的一些函数及用法
    Python enumerate() 函数
    论文笔记:EPTD模型/ Efficient and Privacy-Preserving Truth Discovery in Mobile Crowd Sensing Systems
    论文笔记:Adversarial Attacks and Defenses in Deep Learning 对抗训练部分
    一周入门Linux 基础篇 虚拟机快照
    一周入门Linux 基础篇 虚拟机克隆
    一周入门Linux 基础篇 网络连接的三种方式
    一周入门Linux 基础篇 安装vm和Centos
    B站考研网课推荐
    关于我
  • 原文地址:https://www.cnblogs.com/hanyouchun/p/4060475.html
Copyright © 2020-2023  润新知