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

这篇文章主要介绍了Apache服务器中使用.htaccess实现伪静态URL的方法,示例结合PHP脚本,需要的朋友可以参考下

很多朋友可能是空间也就是虚拟主机,自己就没有权限来管理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 文件传到根目录即可。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt
apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。 这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。 做个形
网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定。 我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web。 我们首先设定网站目录和文件的所有者和所有组为centos,www,如下
window10 64系统在安装IIS URL重写模块2伪静态组件提示需要IIS7.0以上版本。 解决方法: 打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp 双击右边MajorVersion,默认的数值是a,修改成9,然后再安装 ,安装完成后,再把数值修改为a即可。
Apache mod_ssl 配置多个虚拟主机支持SSL子站,以下配置适用于httpd 2.4+,对于不支持define指令的低版本Apache httpd Web Server,把SSLROOT换成所定义的路径即可。配置中的${WROOT}是httpd.conf中通过define指令定义的一个变量,值为D:/Web/www/ 在httpd.c
当iis伪静态中文url出现乱码时该如何解决呢,此篇文章为大家提供了解决的方案,有需要的可以来看看。 首先要看下你安装的是IIS rewrite_2.0还是ISAPI_Rewrite 3.x的伪静态插件。 如果你安装的是IIS rewrite_2.0的话,传递的参数都是UTF-8格式的,如果你网站