Apache:如何利用.htaccess文件对PHP网站或文件进行伪静态处理

来源:http://www.ido321.com/1123.html

今天get了一招:利用.htaccess文件对PHP网站或文件进行伪静态处理。

一、检查服务器是否支持伪静态处理:

必须要空间支持 Rewrite 以及对站点目录中有 .htaccess 的文件解析,才有效.找到apache安装目录下的httpd.cof文件,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#(大概在154行,我的默认是开启)

二、在httpd.cof中查找以下部分:

<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

改为:

<Directory />
   Options FollowSymLinks
   AllowOverride All
</Directory>

如果没有,手动添加。(PS:LZ试过,在最近的新版本的Apache上即使没有这个,.htaccess照样生效。但是不同服务器及版本的原因,建议加上

三、重启apache服务器,添加.htaccess文件

建立.htaccess文件的方式:

1、保存文件的时候将文档保存成名为“***.txt”,再将其上传到服务器上,之后直接使用FTP软件来重命名为“.htaccess”。(适合windows)

2、保存文件的时候选择文件—>另存为,保存类型选所有文件,然后文件名输入.htaccess 。(适合windows)

3、直接在你的Unix或Linux虚拟主机上建立。

4、先用记事本编写好,随便保存为一个什么文件名,然后打开“命令提示符”(CMD),然后再用重命名命令(rename),例如:rename c:\htaccess.txt  .htaccess

请注意: .htaccess必须,保存为ANSI 格式,以ASCII模式上传,最好将其权限设置为644。

     一般我们将.htaccess文件放置在网站的根目录,控制所在目录及所有子目录,当然也可以放在网站的任何一个子目录下,但如果放置在子目录中,子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

在博客收录集(http://www.ido321.com/1112.html)为例,本地.htaccess文件如下:

#rewriteengine为重写引擎开关on为开启off为关闭
RewriteEngine On
RewriteRule ^index\.html$ index.php
RewriteRule ^webmore\.html$ webmore.php

以index.html代替index.php    webmore.html代替webmore.php。

.htaccess支持正则表达式,例如:

原始 news/detail.php?id=2  伪静态  news/detail_2.html

RewriteRule ^news/detail_([0-9]{1,})\.html$ news/detail.php?id=$1

下一篇:杂谈:HTML 5页面可视性API

时间: 2024-10-05 11:05:14

Apache:如何利用.htaccess文件对PHP网站或文件进行伪静态处理的相关文章

Apache环境利用.htaccess文件设置域名301跳转(不带www跳转到带www)

相信很多站长朋友都遇见过这样的问题,即带www的域名与不带www的域名同时都被收录,但域名权重情况差距很大.这问题主要是由于搜索引擎把这两个域名当做两个不同网站看待,导致一个域名被判定是镜像网站造成的.毫无疑问,不管是带www还是不带www,唯一域名能够给你的网站带来更多的好处.这样无论是用户还是搜索引擎,都会记住你网站的唯一域名,也不会造成搜索引擎的误判而导致惩罚.下面本文就来介绍一下Apache环境下利用.htaccess文件设置301跳转,强制用户或搜索引擎重定向到唯一域名. #301重定

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来. .htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置.我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 in

Apache漏洞利用与安全加固实例分析

Apache 作为Web应用的载体,一旦出现安全问题,那么运行在其上的Web应用的安全也无法得到保障,所以,研究Apache的漏洞与安全性非常有意义.本文将结合实例来谈谈针对Apache的漏洞利用和安全加固措施. Apache HTTP Server(以下简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,是最流行的Web服务器软件之一.虽然近年来Nginx和Lighttpd等Web Server的市场份额增长得很快,但Apache仍然是这个领

利用.htaccess绑定子域名到子目录(亲测万网可用)

http://www.xmgho.com/archives/783.html 利用.htaccess绑定域名到子目录,前提你的空间服务器必须支持apache的rewrite功能,只有这样才能使用.htaccess.如果你的空间是Linux服务器 一般默认都开启了的. 绑定域名 登陆域名管理台(如DNSPod) 把需要绑定的域名 解析到你的空间:登陆虚拟主机/空间管理台(如万网) 绑定域名到空间; 首先在本地建个txt文件,复制下面的代码修改替换你要绑的域名和目录,并传到网站主目录下再改成为.ht

Centos解决Apache配置虚拟主机问题。Apache欢迎页可以打开,但是网站目录定位不上

本文用作工作记录,需要用的朋友可以参考下. Centos7安装LAMP环境教程http://www.osyunwei.com/archives/7882.html 安装部署完毕后,需要配置多个虚拟主机用户多个项目部署. vi /etc/httpd/conf/httpd.conf 编辑其中的DocumentRoot 目录地址可以指定自己方便的,在这里我指定的是自己习惯的.不要定义到用户目录(root)里,否则可能访问权限不足. 网站虚拟主目录 /var/WEB/ DocumentRoot "/va

.htaccess重写、安全防护、文件访问权限

今天在<外刊IT评论>上看见了关于.htaccess的使用总结,觉得很不错的,因为wp博客还有其他的php的web服务站点好多都是用.htaccess来管理比如效率以及安全的问题,有必要来学习一下. 1.时区设置 有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息.下面是解决这个问题的方法之一.就是设置你的服务器的时区.你可以在这里找到所有支持的时区的清单. SetEnv?TZ?Australia/Melbourne 2. 搜索引擎友好的301

Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度

我们需要先准备好2个apache的类: 上一个博客文章只讲了最简单的入门,现在来开始慢慢加深. 先过渡一下:只上传一个file项 index.jsp: <h2>用apache的工具处理文件上传</h2> <!-- 先过渡一下:只上传一个file项 --> <form action="<%= request.getContextPath() %>/upload" method="post" enctype=&quo

利用Inotify和Rsync将web工程文件自动同步到多台应用服务器

背景:需要搭建一套跟线上一模一样的环境,用来预发布,这是其中的web分发的一个小模块的实现过程. 1 工具以及环境简介 1.1,Inotify工具 Inotify,它是一个内核用于通知用户空间程序文件系统变化的机制.众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如hotplug.udev 和 ino

使用apache设置绑定多个域名或网站

一台服务器安装了Apache,如何绑定多个域名或网站呢? 最简单高效的方法如下: 1.  先打开Apache的配置文件httpd.conf,在这个文件, 找到这句:“#Include etc/extra/httpd-vhosts.conf” (根据安装路径不同,上面的路径会略有不同) 把前面的#曲调,即开启了使用虚拟主机的功能: 2.  在httpd-vhosts.conf中进行虚拟主机的配置操作:也可以在httpd.conf直接写入配置,但是 不建议这么做: 3.  打开httpd-vhost