我正在制作一个简单的 CMS,所以页面链接是domain/index.php?page=1
等等(page2,page3 ...),并且我正在使用以下行将内容从数据库中提取出来:
$q = "SELECT name, content FROM pages WHERE page_id=$page";
一切正常,但我想改变 URL 的外观,所以我在 .htaccess 中使用了以下内容
RewriteRule ^([A-Za-z]+)/?$ index.php?page=$1 [NC,L]
问题是,现在当我点击页面时,我更改了 url(在这种情况下是 ?page=2),我没有从数据库中提取内容,我猜是因为 MySQL 查询找不到$page
我该如何补救?
编辑:
我更新了规则以包含数字字符,但它仍然是相同的。
RewriteRule ^([A-Za-z0-9]+)/?$ index.php?page=$1 [NC,L]
编辑2:
只是为了强调这一点,如果我page=2
在重写规则中进行硬编码,它可以工作,但显然我希望它动态发生。在这种情况下$1
应该变成2
.