当前位置:  操作系统/服务器>linux

apache开启伪静态的方法分享

    来源: 互联网  发布时间:2014-08-25

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

环境:
系统 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./a.php跳转至b./b.php网页,访问www./news/index.php跳转至b./news/index.php网页

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

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

代码如下:

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

2、域名跳转

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

代码如下:

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

3、防盗链

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

代码如下:

RewriteEngine on
#开启Rewrite模块
RewriteCond %{HTTP_REFERER} !^$
#如果不是直接输入图片地址
RewriteCond %{HTTP_REFERER} !img.$ [NC]
#且如果不是img.所有子域名调用的
RewriteCond %{HTTP_REFERER} !img./(.*)$ [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文件有效控制的文件夹中

4、不需要定义.htaccess文件

在Apache2confhttpd.conf 最后一行添加

代码如下:

RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2

重启Apache
登陆后台开启全伪


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 无法启动Apache的问题解决方法
  • 禁止apache显示目录索引的常见方法(apache禁止列目录)
  • 配置apache支持apk ipk下载的方法
  • Apache上传文件500错误的解决方法
  • apache模块静态编译问题 iis7站长之家
  • redhat8下安装php4.3.0+mysql+apache2.043+Tomcat方法!
  • RedHat8.0下安装PHP+MYSQL的方法 用Apache2
  • 关闭Apache的目录浏览功能的方法
  • apache配置php实现单一入口方法
  • apache正常访问mht类型文件的配置方法
  • Apache后缀名解析漏洞分析和防御方法
  • apache禁止搜索引擎收录、网络爬虫采集的配置方法
  • windows下配置apache+php+mysql时出现问题的处理方法
  • windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
  • Apache服务器关闭TRACE Method请求方式的方法
  • 阿里云linux服务器下安装Apache的简单方法
  • Apache Request-URI Too Large错误解决方法
  • apache中使用.htaccess文件缓存图片的配置方法
  • apache下运行cgi模式的配置方法
  • apache将不带www域名301重定向到带www的域名的配置方法
  • Apache如何启用gzip压缩
  • 想用APACHE做WEBSERVER,但不会用APACHE,请教。
  • Apache Hadoop 项目主页及介绍
  • apache日志文件总是空的,重起apache也没用。
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 安装完apache测试主页发现用的是系统自带的apache,该怎么办?
  • Apache hadoop当前各个版本说明
  • SUN OS5.8怎么没有make ,我想装APACHE2.0不知道怎么下手,原来的APACHE1.3有不知道怎么卸载
  • Windows下php 5.3.5和apache2安装配置及测试
  • 假设现在需要从网上下载的压缩包apache2,如何以dso模式安装在/home 目录的apache目录中,写出完整命令
  • Apache HTTP服务器2.4中的新功能概览


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3