<?php phpinfo(); ?>
搜索 Loaded Modules,若无 mod_rewrite:
httpd.conf#LoadModule rewrite_module modules/mod_rewrite.so 去掉 #LoadModule rewrite_module modules/mod_rewrite.sophpinfo() 验证<Directory "D:/wwwroot">
Options FollowSymLinks
AllowOverride All # 原为 None
</Directory>
记事本 “另存为” → 文件名 .htaccess(含前导点)。
RewriteEngine On # 简单数字 ID 映射 RewriteRule ^([0-9]+)$ index.php?id=$1 [L] # 伪静态:page-18.html → index.php?action=page&id=18 RewriteRule ^([a-zA-Z]+)-([0-9]+)\.html$ index.php?action=$1&id=$2 [L]
[L] 最后一条规则$1、$2 对应正则捕获组<?php echo 'Action: ' . ($_GET['action'] ?? 'N/A') . '
'; echo 'ID: ' . ($_GET['id'] ?? 'N/A'); ?>
访问 https://localhost/page-18.html 输出:
Action: page ID: 18
# httpd-vhosts.conf
<VirtualHost *:80>
ServerName localhost.www.dz.cn
DocumentRoot "d:/wamp/www/dz"
</VirtualHost>
# C:\Windows\System32\drivers\etc\hosts 127.0.0.1 localhost.www.dz.cn
重启 Apache,浏览器访问 https://localhost.www.dz.cn 即生效。
. 导致匹配异常RewriteBase /subdir/ 处理子目录项目RewriteLog / RewriteLogLevel(Apache 2.4 用 LogLevel alert rewrite:trace3)