【Apache】apache简单配置URL重写规则
【概述】URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是index.php?type=news&&cata=sport&&id=123那么它可以被重写成 “news-sport-123.html”,这样的URL,这样的网址可以更好的被搜索引擎抓取。
【优点】URL重写可以降低使用动态网页时受sql注入攻击的几率,还可以在不静态化的网页的情况下,利于搜索引擎对网页的抓取(SEO)。
【配置】
1,启用httpd.conf配置文件中的rewrite静态库
#开启apache rewrite重写模块
LoadModule rewrite_module modules/mod_rewrite.so
2,配置测试虚拟主机
2.1,启用httpd.conf配置文件中的httpd-vhosts.conf选项
# Virtual hosts 开启此选项,使其包含httpd-vhosts.conf配置文件
Include conf/extra/httpd-vhosts.conf
2.2在httpd-vhosts.conf配置文件中添加一个虚拟主机
<VirtualHost *:80>
DocumentRoot "X:/phptest/urlrewrite_test"
ServerName www.gazeon.com
#Directory这个段,主要用处指定,该目录的访问权限
<Directory "X:/phptest/urlrewrite_test">
#允许所有人访问
Allow from all #不列出该网站的文件列表
Options None #设置网站默认的首页面 http://www.gazeon.com
DirectoryIndex index.php #配置统一的 404页面
errordocument 404 /error404.html #开启重写引擎
RewriteEngine On
#配置url重写规则 ,使用正则匹配,$1,$2,$3表示第N个子表达式中匹配的结果
RewriteRule (\w+)-(\w+)-(\d+)\.html$ index.php?type=$1&&cata=$2&&id=$3 </Directory>
</VirtualHost>
2.2.1【注意】如果你的apache安装目录没有httpd-vhosts.conf文件,可以将以上配置内容直接写到httpd.conf配置文件中。
2.2.2【另外】你也可以在需要访问的文件目录下,直接通过写.htaccess文件来规范重写规则,比在httpd.conf文件中配置更灵活
#.htaccess文件内容
<IfModule rewrite_module>
#开启重写引擎
RewriteEngine On
#配置url重写规则 ,使用正则匹配,$1,$2,$3表示第N个子表达式中匹配的结果
RewriteRule (\w+)-(\w+)-(\d+)\.html$ index.php?type=$1&&cata=$2&&id=$3
</IfModule>
重启Apache。
3,在hosts文件中添加规则(可选)
打开C:\Windows\System32\drivers\etc 目录下的hosts文件,添加如下代码
127.0.0.1/urlrewrite_test www.gazeon.com
4,建立测试网也页
在X:\phptest\urlrewrite_test 下新建index.php
<?php
/*
2016/3/10 YunGaZeon
此网页仅用于URL重写测试,因此尽量简单
*/
echo '<pre>';
print_r($_GET);
echo '</pre>';
4.1浏览器打开www.gazeon.com/news-sport-123.html 测试查看
显示以下内容,则配置成功
Array
(
[type] => news
[cata] => sport
[id] => 123
)
【Apache】apache简单配置URL重写规则的更多相关文章
- windows Apache服务器简单配置虚拟域名(转载)
1.找到apache目录下的conf下的extra下的httpd-vhosts.conf虚拟主机配置文件 将下面的代码复制粘贴到最下面: #<VirtualHost *:80># ...
- Apache Rewrite url重定向功能的简单配置
http://www.jb51.net/article/24435.htm 1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我 ...
- Apache URL重写规则
1.简介 Apached的重写功能,即是mod_rewrite模块功能,它是apache的一个模块.它的功能非常强大,可以操作URL中的所有部分. 因此我们就可以改写url,给用户提供一个简介大方的u ...
- Apache服务器的简单配置与安全策略
在之前讲的关于weevely后门分析中,有说到利用Apache的配置文件.htaccess来隐藏php后门.关于.htaccess文件的用途,在此结合Apache服务器的具体配置作一详解,也算是自己的 ...
- asp.net 网站在Apache下的配置,就这么简单
asp.net 网站在Apache下的配置,就这么简单 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames ...
- asp.net 站点在Apache下的配置,就这么简单
asp.net 站点在Apache下的配置,就这么简单 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames ...
- windows下简单配置apache
不得不做个笔记,不然每次配置都记不清楚... 详细的配置朋友这边写的很好.地址 # 对 PHP 4 LoadModule php4_module "c:/php/php4apache2.dl ...
- Apache配置URL重定向
Apache配置URL重定向 修改/etc/httpd/conf/httpd.conf文件的内容 <Directory "/var/www"> AllowOverrid ...
- Linux中Apache服务器的简单配置
配置Apache服务器: 1.安装Apache,可以参考Linux 中yum的配置来安装: yum install http* -y 2.修改SELinux: setenforce 0 查看: 3.防 ...
随机推荐
- ObjectContext,DataContext和DBContext 分别获取linq 的sql方法
ObjectContext 先定义一个扩展方法: public static string ToTraceString<T>(this IQueryable<T> t) { s ...
- vs2013单元测试第二部分
上次的随笔说还没弄懂,现在已经弄懂,就让我说说我的方法吧. 1.点击文件——>新建——>项目——>c#——>控制台应用程序,确定,之后如图所示 2.在一定位置写上要进行单元检测 ...
- docker warning ipv4 forwarding is disabled. networking will not work
# vi /etc/sysctl.conf 添加如下代码: net.ipv4.ip_forward=1 重启network服务 # systemctl restart network 查看 ...
- C语言-结构体
#include<stdio.h> struct stu //定义结构体类型 { int num; char *name; char *sex; float score; } boy[]= ...
- ECLIPSE下SVN的创建分支/合并/切换使用
最近接项目要求,要在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发.分支上的bug修改完,发布后,可以合并到主干上.项目程序可以在主干和分支之间进行切换,来实现主干和分支 ...
- 1071. Speech Patterns (25)
People often have a preference among synonyms of the same word. For example, some may prefer "t ...
- 已知树的前序、中序,求后序的c++实现&已知树的后序、中序,求前序的c++实现
#include"iostream" using namespace std; int pre[30]; int in[30]; int post[30]; int indexOf ...
- - dequeueReusableCellWithIdentifier:
与之对应的还有一个方法: - dequeueReusableCellWithIdentifier:forIndexPath: 1 > - dequeueReusableCellWithIdent ...
- Javascript杂记(一)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【HDU3721】枚举+最长路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3721 题意:给你一颗n个节点n-1条边的树,每条边都有一个权值,现在让你任意移动一条边然后把这条边连接 ...