`
kaozjlin
  • 浏览: 117402 次
  • 性别: 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(已经删除啦)囧

 

 

分享到:
评论

相关推荐

    linux_apache_rewrite编译配置.pdf

    同时,还需要开启Rewrite功能,添加或修改以下配置: ```apacheconf AllowOverride All ``` 这里的"/var/www/html"是你的网站根目录,根据实际情况调整。 接下来,我们可以在网站根目录下的.htaccess文件或者...

    apache rewrite_module模块使用教程

    1. **在Windows环境下**:通常情况下,安装Apache时会自动安装`mod_rewrite`模块。需要确认该模块是否已经被启用,可以在`httpd.conf`文件中找到如下行并取消注释: ```apacheconf LoadModule rewrite_module ...

    apache 开启重定向 rewrite的实现方法

    **开启Rewrite模块** 在Apache服务器上启用Rewrite模块分为以下几步: 1. **检查模块状态**:确保Apache已经安装了Rewrite模块。你可以通过运行以下命令来查看Apache已加载的所有模块: ``` apache2ctl -M ``` ...

    linux_apache_rewrite编译配置整理.pdf

    在Linux环境下配置Apache服务器,特别是涉及到URL重写功能时,通常需要使用mod_rewrite模块。这个模块允许我们通过定义规则来转换URL,以实现动态URL的隐藏、SEO优化或者内部路由处理。以下是关于`linux_apache_...

    Apache的Rewrite心得

    接着,开启RewriteEngine,这样Apache才会处理Rewrite规则: ```apacheconf RewriteEngine On ``` 为了便于调试,可以开启RewriteLog并设置日志级别。例如,设置日志文件为“rewrite.log”,级别为9(最详细的日志...

    帝国7.0伪静态Apache的Rewrite设置方法

    1. **开启RewriteEngine**:首先,需要确保Apache的Rewrite引擎已经启用。在.htaccess文件中添加以下行: ```apacheconf RewriteEngine On ``` 这行代码会启动Apache的Rewrite引擎,使得后续的Rewrite规则生效。...

    apache urlrewrite防盗链功能配置

    1. **开启mod_rewrite模块**: 在Apache服务器配置中,首先确保mod_rewrite模块已启用。通常需要在httpd.conf或vhost.conf等配置文件中取消`LoadModule rewrite_module modules/mod_rewrite.so`行的注释。 2. **...

    iis_rewrite.zip

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

    apache开启伪静态的方法分享

    # 开启Rewrite引擎 RewriteRule ^(.*)\.php$ http://b.jb51.net/$1.jsp [R=301,L,NC] # R=301表示301永久重定向;L表示这是最后一个规则;NC表示忽略大小写。 ``` 2. **域名跳转**: - 目标:如果请求的URL包含...

    Apache mod_rewrite实现HTTP和HTTPS重定向跳转

    `mod_rewrite` 是 Apache 服务器的一个功能强大的 URL 重写模块,它可以用于 URL 重写、重定向、URL 规范化等。通过对 URL 的各种转换操作,`mod_rewrite` 能够帮助我们实现复杂的重定向逻辑,例如将所有 HTTP 请求...

    Linux下Apache_PHP_Mysql环境配置

    ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-...

    Rewrite.dll - 伪静态

    httpd.ini是Apache服务器在Windows环境下的配置文件,可以在这里全局开启Rewrite模块,或者添加更复杂的URL重写规则。readme.txt通常是提供相关说明或指导的文本文件。 总的来说,Rewrite.dll和PHP的Rewrite模块在...

    mod_rewrite - Apache HTTP服务器.pdf

    总之,`mod_rewrite`是Apache服务器的一个强大工具,它不仅可以帮助优化网站结构,提高SEO效果,还可以用于负载均衡、内容过滤等多种场景。然而,其强大的功能也伴随着较高的学习成本,需要时间和耐心去探索和实践。

    linux下apache开启url重写的方法(详细说明)

    在Linux环境下,Apache服务器的URL重写功能是一个强大的工具,它允许您将复杂的URL转换为更简洁、用户友好的格式,提高网站的可访问性和SEO优化。Apache的URL重写功能是通过`mod_rewrite`模块实现的。以下是开启...

    IIS虚拟机用到的Rewrite.dll组件

    1. **测试和调试**:在生产环境中应用规则前,务必在开发环境进行充分测试,确保所有预期的URL都能正确重写,并且不会导致意外的重定向循环。 2. **性能影响**:URL重写会增加服务器的处理时间,因此尽量减少不必要...

    Rewrite程序端

    10. **调试技巧**:在开发过程中,开启`RewriteLog`和设置适当的`RewriteLogLevel`可以帮助调试Rewrite规则,查看重写过程的详细信息。 总之,Rewrite程序端是网站开发中一个强大且灵活的工具,它允许开发者对URL...

    IIS_Rewrite

    不过,这个`.ini`文件可能是为了模拟Apache环境而创建的,或者是用户自定义的配置格式。在这个文件中,可能会包含具体的URL重写规则和伪静态设置。 `readme.txt` 文件通常包含有关如何使用、安装或配置软件的说明,...

    mysql+apache+php

    2. 使用`./configure`命令进行配置,启用必要的模块,例如`mod_rewrite`和`mod_proxy`,并指定安装路径。 3. 使用`make`和`make install`进行编译和安装。 4. 配置完成后,Apache应被添加到系统服务,以便可以使用`...

    apache中通过mod_rewrite实现伪静态页面的方法

    - **检查mod_rewrite是否已启用**:使用`phpinfo()`函数查看环境配置,查找“Loaded Modules”,如果列表中包含“mod_rewrite”,则表示已经支持。 - **手动启用mod_rewrite**:若未启用,打开Apache的配置文件`...

Global site tag (gtag.js) - Google Analytics