最近在部署一个网站,服务器是Apache的,需要用到伪静态URL重写,所以本文就简单写一下这个伪静态的规则,顺便介绍一些各种URL重写的情况。

URL重写规则

假设网站域名为 www.qq.com 我想要实现的效果是访问 www.qq.com/artcle/12548789954115 即可打开文章页面。

实际上 www.qq.com/artcle/index.php?id=12548789954115 才是真实的访问路径我们通过URL重写规则去将链接重写为 www.qq.com/artcle/12548789954115

规则写法

RewriteEngine on
RewriteRule ^artcle/([0-9]*)$ artcle/index.php?id=$1

^指的是从这里开始,artcle指的是从这里开始的一个目录,如果是根目录,那么直接就是一个斜杠即可,([0-9]*)$ 是一个正则匹配规则,这里匹配的是只能传入数字。artcle/index.php?id=$1 很明显看出是原来的真实路径,其中$1指的是匹配第一个参数。

知道URL重写规则的意思就好办了,下面就是一些常见的URL重写规则。

1、www.qq.com/artcle/s.php?id=12345 重写为 www.qq.com/artcle/12345.html

RewriteEngine on
RewriteRule ^artcle/([0-9]*).html$ artcle/s.php?id=$1

2、www.qq.com/artcle/s.php?id=12345 重写为 www.qq.com/artcle/12345-1-1.html

RewriteEngine on
RewriteRule ^artcle/([0-9]*)-1-1.html$ artcle/s.php?id=$1

3、www.qq.com/artcle/s.php?id=abcdefg 重写为 www.qq.com/artcle/abcdefg

RewriteEngine on
RewriteRule ^artcle/(w+)$ artcle/s.php?id=$1

其实按照其实了解了规则的写法,就容易去DIY自己的伪静态URL重写规则了!

作者

TANKING

博客

https://www.likeyunba.com

原文

https://www.likeyunba.com/art...


TANKING
4.8k 声望493 粉丝

热爱分享,热爱创作,热爱研究。