`
kaozjlin
  • 浏览: 115204 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Apache开启Rewrite环境

    博客分类:
  • php
阅读更多

环境:
系统 Windows
Apache 2.2

加载Rewrite模块:

在conf目录下httpd.conf中找到
LoadModule rewrite_module modules/mod_rewrite.so
这句,去掉前边的注释符号“#”,或添加这句。

允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All

在Windows系统下不能直接建立“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。

Apache Rewrite模块的简单应用:
Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。

1、请求跳转

目的是如果请求为.jsp文件,则跳转至其它域名访问。

例如:访问www.clin003.com/a.php跳转至b.clin003.com/b.php网页,访问www.clin003.com/news/index.php跳转至b.clin003.com/news/index.php网页

注意:不是使用HTML技术中的meta或者javascript方式,因为www.clin003.com/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。

修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容


RewriteEngine on
#开启Rewrite模块
RewriteRule (.*)\.php$ http://b.clin003.com/$1\.jsp [R=301,L,NC]
#截获所有.jsp请求,跳转到http://b.clin003.com/加上原来的请求再加上.php。R=301为301跳转,L为rewrite规则到此终止,NC为不区分大小写


2、域名跳转

如果请求为old.clin003.com下的所有URL,跳转至b.clin003.com


RewriteEngine on
#开启Rewrite模块
RewriteCond %{REMOTE_HOST} ^old.studenthome.cn$ [NC]
#针对host为old.clin003.com的主机做处理,^为开始字符,$为结尾字符
RewriteRule (.*) http://b.clin003.com/$1 [R=301,L,NC]


3、防盗链

如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容


RewriteEngine on
#开启Rewrite模块
RewriteCond %{HTTP_REFERER} !^$
#如果不是直接输入图片地址
RewriteCond %{HTTP_REFERER} !img.clin003.com$ [NC]
#且如果不是img.clin003.com所有子域名调用的
RewriteCond %{HTTP_REFERER} !img.clin003.com/(.*)$ [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule (.*)\.(jpg|jpeg|jpe|gif|bmp|png|wma|mp3|wav|avi|mp4|flv|swf)$ http://clin003.com/err.jpg [R=301,L,NC]
#截获所有.jpg或.jpeg……请求,跳转到http://clin003.com/err.jpg提示错误的图片,注:该图片不能在原域名下,也不能在该.htaccess文件有效控制的文件夹中


关于Windows下Apache应用环境塔建:http://clin003.com/ideas/windows-apache-install-useing-like-php-python-subversion-1330/

关于301重定向的应用:http://clin003.com/search-engine/301-redirect-implementation-784/

用telnet检测网址返回的头部信息状态码:http://clin003.com/servers/detection-using-telnet-to-return-at-the-head-of-the-state-code-information-450/

今天终于因为一个程序必须要Rewrite,就修改下配置,所以顺便记录下。
easysns(已经删除啦)囧

 

 

分享到:
评论

相关推荐

    iis_rewrite.zip

    备注:设置成功后,请测试网站是否可以正常访问,如有问题请咨询空间商php环境中是否开启了rewrite模块; 二、标准Rewrite模式: 1.在IIS的Isapi上添加个筛选器,筛选器名称Rewrite,可执行文件选择此目录的 ...

    apache开启伪静态的方法分享

    环境:系统 WindowsApache 2.2 加载Rewrite模块: 在conf目录下httpd.conf中找到 代码如下:LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。 允许在任何目录中使用...

    PHP+APACHE实现网址伪静态

    检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续...

    php伪静态之APACHE篇

    1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要...

    IIS服务器SSI(rewrite重写)插件的帮助资料

    运行IIS服务器SSI(rewrite重写)插件,可在windows的IIS服务器上通过“httpd.conf”文件或将指令“Options +Includes”以ASCII编码写入“.htaccess”格式的文件来开启SSI (Server Side Includes)。 任何路径都可以...

    Linux环境下Apache服务器配置二级域名的方法详解

    首先,确认开启Apache配置文件httpd.conf中的mod_rewrite模块: 这里科普一下这个模块: 接下来我们需要登录所购域名运营商的域名管理后台,点击‘域名解析’: 手动添加或一键快速添加下面两条默认解析,形如...

    ecshop源码

    1,服务器环境本身支持url rewrite重写功能,能正确识别出以路径符号 "/" 为间隔的url地址,这是必要的条件。 以apache为例说明如可开启伪静态:打开apache的配置文件找到对应的web目录配置项,修改为如下: ...

    wecenter 框架

    ### WeCenter Rewrite 开启方法 参见这篇文章: [http://www.wecenter.com/category/support/settings/][2] ### WeCenter 问答系统的升级 升级过程非常简单, 覆盖所有文件之后运行 http://您的域名/index....

    Linux中为php配置伪静态

    通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。 如果没有开启“mod_...

    推券客CMS淘宝优惠券网站源码 v1.8

    apache的环境,确保站点根目录有.htaccess文件即可。不需要额外配置b.IIS 环境, 在站点根目录有一个 iis文件夹,里面是iis的重新规则。 需要手工配置,具体如何配置请咨询空间提供商,每家可能有所不同。c. nginx...

    mysweet:cms系统

    1)首先需要apache开启重定向,修改httpd.conf配置: 查找: Options FollowSymLinks AllowOverride None 改为: Options FollowSymLinks AllowOverride All 2)去掉下面的注释 LoadModule rewrite_module ...

    开启PHP的伪静态模式

    一直在做php的开发工作.在开发的过程中老早就听说了“伪静态”这一说。但是一直没有对其进行了解。今天通过本篇文章仔细学习下。...apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不

    DBErp进销存系统 v1.0 Beta 20190730

    本系统运行环境要求:服务器系统:Linux(推荐)、Unix、WindowsWeb服务软件:Apache(推荐)、NginxPHP版本:7.1及以上版本MySQL版本:5.7及以上版本Web服务软件要求开启重写(Rewrite),使用Apache默认已经开启...

    教你如何开启shopnc b2b2c 伪静态

    shopnc b2b2c开启伪静态的方法 一. windows环境下  1.先下载isapi rewrite插件,安装,然后我们把根目录下面的htaccess.txt那么修改成.htaccess即可。    2.找到网站目录\data\config下面...开启apache服务器的rew

    PHP+MySql的股票配资系统设计.zip

    base 框架核心 common 常用函数库 conf 系统级配置目录 data 缓存文件目录(可读写权限) files 上传文件目录(可读写权限)...如果是Apache服务器也需要rewrite模块开启 否则网站除了首页其它页面都无法打开 修改/ind

    windows下zendframework项目环境搭建(通过命令行配置)

    3、打开Apache的配置文件httpd.conf确保你已经开启如下模块: LoadModule rewrite_module modules/mod_rewrite.so 继续查找httpd.conf文件,如果AllowOverride为None的话,请一定把None都改成all 4、设置环境变量: ...

    PHPDBErp进销存系统 v1.1 RC 221101

    DBErp系统,是北京珑大钜商科技有限公司 基于 Laminas + doctrine 2 开发的一套进销存系统。...Web服务软件要求开启重写(Rewrite),使用Apache默认已经开启重写功能 PHP需要开启的扩展: Curl fileinfo openssl PDO

    野草迷你博客程序(WeedMiniBLOG) 1.0.100211.rar

    4.最好是在Linux(apache2)服务器上运行,还有得支持rewrite模块!如果不支持的话把27行的 $rewrite=true;//是否开启路径重写规则 true 改成false 有问题不懂进QQ群:43849191!或者EMAIL:[email protected]

    站长导航系统源码开源可运营版

    环境建议Apache/Nginx PHP7.0 MySQL5.6 Thinkphp框架,Nginx服务器,伪静态规则 location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } 演示站看 eyebt.com

    265分发平台APP企业签名系统PHP源码.zip

    2、设置伪静态规则,apache规则在根目录:.htaccess,Nginx规则在static\\\\pack\\\\Rewrite 3、开启ssl证书,免签封装使用证书签名,需要对应修改data\\\\cert目录下的server证书配置文件 然后启用PHP函数exec,打开...

Global site tag (gtag.js) - Google Analytics