Apache服务器中使用.htaccess实现伪静态URL的方法

很多朋友可能是空间也就是虚拟主机,自己就没有权限来管理apache的httpd.conf文件了,自然就不太可能可以在这上面写静态规则了,下面我们可以让主机商开启支持.htaccess方法,这样就可以自己写了。

首先配置服务器启动重写模块
打开 Apache 的配置文件 httpd.conf 。
将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉。
保存后重启Apache


写重写规则
举例说明,test.php里的代码为

<?php
$id=$_GET["id"];
echo $id;
?>

功能就是接受URL里的id参数,并在页面显示。
首先用记事本(如果不行就用editplus)新建一个文档,并保存为.htaccess,在里面写入如下代码

.<IFMODULE mod_rewrite.c>
.RewriteEngine On
.RewriteBase /
.RewriteRule ^t_(.*).html$ test.php?id=$1 [L]
.</IFMODULE>

具体解释可以查看apache手册。下载apache2.2手册
第4行 ^t_(.*).html$ 描述你输入的URL地址, test.php?id=$1  其实际要访问的地址
例如当您在浏览器中输入(假设您的test.php和.htaccess文件都在您服务器的mytest文件夹下)localhost/mytest/t_1.html 则在浏览器中将输出 1,
如果输入为 localhost/mytest/t_sophp.html 则浏览器输出sophp
第一个地址实际访问的是localhost/mytest/test.php?id=1
第二个实际访问的是 localhost/mytest/test.php?id=sophp

重写完规则后,将您网页中以前都为传参数的URL链接改为您修改后的规则样式就成功了。
如果自己买的空间支持重写的话,只要把.htaccess 文件传到根目录即可。

(0)

相关推荐

  • 让Apache 2支持.htaccess并实现目录加密的方法

    实现需求 最近在使用学校电脑时,经常遇到这么个场景:想下载个CodeBlocks用于coding或想下个vpt来玩会万智,但通过机房网络访问一些国外网站的下载速度只有10+kB/s,不到100m的文件总能让人等很久. 以前通过百度云来解决了这个问题,现在百度云下载这些文件需要使用客户端(大文件?),所以寻思着有没有什么好的解决方案. 突然想起自己在阿里云有个小服务器,在上面挂了个OJ,大多数资源都是闲置的.所以很简单,我就在网站目录下面传了我需要的常用文件上去,走阿里云的带宽下载.但直接放上去的

  • Apache服务器中.htaccess的基本配置总结

    .htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限制.管理员可以通过Apache的AllowOverride指令来设置. - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令. - .htaccess必须以ASCII模式上传,最好将其权限设置为644. 错误文档的定位 常用的客户端请求错误返回代码: 401 Authorizat

  • apache中使用.htaccess文件缓存图片的配置方法

    浏览器能够简单读取.htaccess文件的缓存控制头,而缓存头会要求浏览器将图片或其它任何媒体保留2周时间(或者更久),这样浏览器就能够随时调用图片,直到图片过期. 两周后浏览器重新将过期的图片存入缓存. 万一浏览器缓存被清空,浏览器会从缓存中重新加载图片或其它媒体. 1,打开网站所在的根目录的.htaccess文件,如没有,请新建. 2,输入以下代码 复制代码 代码如下: # Image and Flash content Caching for One Month<FilesMatch &quo

  • Apache使用 .htaccess 来实现强制https访问的方法

    我们可以用Apache的.htaccess的重定向规则来实现http强制跳转到https访问网站.( 重要提示:必须将代码放到.htaccess文件内容的最前面,以保证重定向优先权.) 代码如下: RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://xpsss.com/$1 [R,L] 或者 RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteR

  • 修改.htaccess实现子目录绑定示例分享

    复制代码 代码如下: <IfModule mod_rewrite.c>RewriteEngine On  RewriteBase /# 把 www.jb51.net改为你要绑定的域名.# 如果是域名:RewriteCond %{HTTP_HOST} ^((www|blog)\.)?jb51\.net$RewriteCond %{HTTP_HOST} ^((www|blog)\.)?127.0.0.1$# 把 www改为要绑定的目录.RewriteCond %{REQUEST_URI} !^/w

  • Ubuntu下开启Apache对.htaccess 的支持

    步骤: 终端运行 复制代码 代码如下: sudo a2enmod 程序提示可供激活的模块名称,输入: 其中rewrite 修改/etc/apache2/sites-enabled/000-default (该链接指向的是站点配置文件) 把(默认的www目录.或者需要应用.htaccess的目录)下的AllowOverride 属性改为All,保存. 重新加载apache 复制代码 代码如下: sudo /etc/init.d/apache2 restart 附xampp的ModRewrite开启

  • apache .htaccess文件详解和配置技巧总结

    一..htaccess的基本作用 .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令.       .htaccess主要的作用有:URL重写.自定义错误页面.MIME类型配置以及访问权限控制等.主要体现在伪静态的应用.图片防盗链.自定义404错误页面.阻止/允许特定IP/IP段.目录浏览与主页.禁止访问指定文件类型.文件密码保护等.       .htaccess的用途范围主要针对当前目录. 二.启用.htaccess的配置启用.htaccess,需要修改http

  • Apache使用.htaccess 屏蔽恶意 User Agent(防蜘蛛)

    一.登记在册的恶意 User Agent 1."Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)" 下面是网站日志中的两条记录,这个 User Agent 会重复访问注册页面,并获取验证码,这是垃圾留言和恶意注册的开始. 复制代码 代码如下: 116.242.22.10

  • 使Nginx服务器支持.htaccess的方法

    可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htaccess文件,其实这是错误的看法nginx也是支持.hatccess的哦,下面我来给各位总结一下配置方法. 其实nginx和.htaccess一点关系都没有,只是一大堆人深受apache的影响觉得nginx应该也要支持.htaccess功能.在nginx的配置中直接include .htaccess文件就好 include /站点目录/.htaccess; 多么简单,但是更让人哭笑不得的是有大部分人根本就不知道

  • Apache服务器中使用.htaccess实现伪静态URL的方法

    很多朋友可能是空间也就是虚拟主机,自己就没有权限来管理apache的httpd.conf文件了,自然就不太可能可以在这上面写静态规则了,下面我们可以让主机商开启支持.htaccess方法,这样就可以自己写了. 首先配置服务器启动重写模块 打开 Apache 的配置文件 httpd.conf . 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉. 保存后重启Apache 写重写规则 举例说明,test.php里的代码为 <?php $id=

  • Apache服务器中.htaccess文件的实用配置示例集锦

    .htaccess 是什么? htaccess (hypertext access,超文本访问) 是为网站所有者提供用于控制服务器环境变量以及其它参数的选项,从而增强他们网站的功能的文件.这些文件可以在网站目录树的任何一个目录中,并向该目录以及目录中的文件和子目录提供功能. 这些功能是什么呢?其实这些是服务器的指令,例如命令服务器执行特定任务的行,这些命令只对该文件所在目录中的文件和子目录有效.这些文件默认是隐藏的,因为所有操作系统和网站服务器默认配置为忽略它们,但如果查看隐藏文件的话,你就可以

  • 详解node服务器中打开html文件的两种方法

    本文介绍了详解node服务器中打开html文件的两种方法,分享给大家,具体如下: 方法1:利用 Express 托管静态文件,详情查看这里 方法2:使用fs模块提供的readFile方法打开文件,让其以text/html的形式输出. 代码: var express = require('express'); var fs=require("fs"); var app = express(); //方法1:通过express.static访问静态文件,这里访问的是ajax.html //

  • Java使用Apache.POI中HSSFWorkbook导出到Excel的实现方法

    使用Apache.POI中HSSFWorkbook导出到Excel,具体内容如下所示: 1.引入Poi依赖(3.12) 依赖如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.12</version> </dependency> 2.创建实体类(User.java) package

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

    rewrite规则学习 我们新建一个.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$ index.php?id=$1 我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束! 好吧,现在我们可以实现伪静态页面了,写下一下的规则: Rewri

  • 在Apache服务器中运行CGI程序的方法

    关于apache与CGI在这里就不解释了. 1.apache下载地址:http://www.apache.org,下面以2.0.63为例介绍运行CGI程序的配置. 2.下载Windows下的Perl解释器ActivePerl,官方网站:http://www.activestate.com/,最新版本ActivePerl-    5.10.0.1003,假设安装路径为c:\Perl. 3.修改apache的配置文件httpd.conf: <Directory "D:/Apache Group

  • 在Apache服务器上启用GZip压缩静态内容的方法

    为了优化网站的访问速度,我们可以通过对静态内容进行压缩,从而减少网页加载的时间,大大节省用户的带宽.在这篇文章中,我将介绍如何使用Apache和.htaccess文件进行静态内容压缩. 首先让我介绍一下,我们可以使用两种不同的方法压缩内容:GZip 和 deflate. 介绍 GZip方法在早期的apache版本中使用(在Apache 1.3之前).但在那之后apache引入了deflate方法,相比GZip并没有太大的效果(但仍是非常好的).然而,GZip在apache 1.3之后不再提供更多

  • Apache服务器一个IP多个站点的配置方法示例

    在日常的网站发布中很多情况下都无法做到一个IP对应一个站点,在IP4的情况下IP的资源是相对有限的.然而作为最流行的Apache自然也考虑到这种情况,那么接下来看看apache服务器怎么配置一个IP多个站点. 在httpd.conf中找到 "# Virtual hosts",并添加如下行 复制代码 代码如下: ServerName 你的域名 HostNameLookups off 例子 NameVirtualHost 192.168.1.104 <VirtualHost 192.

  • Apache中使非伪静态url跳转到伪静态url的方法

    如何使用.htaccess使非伪静态页面301跳转到伪静态页面然后再跳转?这是一个比较蛋疼的跳转.因为不小心就会搞成死循环导致页面无法打开.好在问题最终解决了.记录并分享出来,给需要的朋友借鉴借鉴. 规则如下: RewriteRule ^article-([0-9]+).html$ /article.php?id=$1&r=1 [L] RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC] RewriteRule ^article.php$ /article

随机推荐