Apache:url重定向文档

来源:互联网 发布:活动mac音频播放器 编辑:程序博客网 时间:2024/04/27 11:09

url重定向文档

作者:Wucl

时间:2014-11-11

1.前言:

根据项目的需求,需要对url进行一定的重定向处理,规则如下:url有对应的文件时显示对应的文件,若没有对应的文件则指向index.php

2.完成过程记录:

语:条件限制,以本地Apache服务为基准(D:\Program Files\wamp)。

第一步:了解Apache实现重定向的方式:

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

第二步:确定htaccess实现方式:

首先,开启使用.htaccess文件:

打开D:\Program Files\wamp\bin\apache\apache2.4.9\conf\httpd.conf

1)修改:

Options FollowSymLinks 

AllowOverride none 改为 AllowOverride all

2)去掉下列配置的注释:

#LoadModule rewrite_module modules/mod_rewrite.so

其次,创建.htaccess文件:

Windows环境下直接创建.htaccess文件是行不通的,可以按照下列方式:

1)cmd

2) echo >.htaccess

最后,编辑.htaccess文件(.htaccess知识点见附录):

<IFMODULE mod_rewrite.c>

RewriteEngine On

RewriteBase /extract/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^.*$ index.php

</IFMODULE>

“RewriteBase /extract/”:重写规则的基础空间在127.0.0.1/extract/

“RewriteCond %{REQUEST_FILENAME} !-f”:如果url对应的不是文件则不进行重写

“RewriteRule ^.*$ index.php”:url对应的文件不存在则重定向到index.php


3..htaccess知识点附录:

htaccess语法教程

RewriteEngine On

RewriteBase /extract/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /blog/$1

RewriteEngine On

表示重写引擎开,关闭off,作用就是方便的开启或关闭以下的语句,这样就不需要一条一条的注释语句了。

RewriteBase /

重写规则的基础空间在127.0.0.1/extract/

RewriteCond语法】

RewriteCond TestString CondPattern [flags]

 “-d(是否为一个存在的目录)

 “-f(是否为一个存在的常规文件)

 “-s(是否为一个存在的、尺寸大于0的常规文件)

-l(是否为一个存在的符号连接)

 “-x(是否为一个存在的、具有可执行权限的文件)

 “-F(是否为一个有效的文件,而且可以在服务器当前的访问控制配置下被访问)

 “-U(是否为一个有效的URL)

RewriteRule语法:】

RewriteRule Pattern Substitution [flags]

RewriteRule 参数

RewriteRule标记

含 义

描 述

R

Redirect

发出一个HTTP重定向

F

Forbidden

禁止对URL地址的存取

G

Gone

标记URL地址不存在

P

Proxy

URL地址传递给mod_proxy

L

Last

停止处理接下来的规则

N

Next

再次重第一个规则开始处理,但是使用当前重写后的URL地址

C

Chain

将当前的规则和紧随其后的规则链接起来

T

Type

强制执行指明的MIME

NS

Nosubreq

只在没有任何内部子请求执行时运行本脚本

NC

Nocase

URL地址匹配对大小写不敏感

QSA

Qsappend

在新的URL地址后附加查询字符串部分,而不是替代

PT

Passthrough

将重写后的URL地址传递给另一个Apache模块进行进一步处理

S

Skip

忽略之后的规则

E

Env

设置环境变量

0 0
原创粉丝点击