安装Apache2 mod_rewrite模块。
在.htaccess文件中编写重写规则,将URL重写为期望的格式。例如,将URL中的参数转换为路径:
RewriteEngine On
RewriteRule ^blog/([0-9]+)/([0-9]+)/?$ index.php?year=$1&month=$2 [NC,L]
上述规则将URL从:
example.com/index.php?year=2021&month=06
转换为:
example.com/blog/2021/06/
测试重写规则,确保URL被正确重写。
可以使用RewriteCond指令添加条件限制,更加灵活地控制URL重写过程。例如,只对特定域名或特定文件进行重写:
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteCond %{REQUEST_URI} !^/blog/ [NC]
RewriteRule ^(.*)$ /blog/$1 [R=301,L]
上述规则将来自example.com域名的请求中,不含有“/blog/”路径的请求重定向到“/blog/”路径。