所以我已经成功地从 .htaccess 文件中的 url 中删除了数据库查询:
RewriteRule ^([A-Za-z0-9-]+)$ /page.php?page_url=$1
但是,现在每个请求都转到此页面。这会产生问题:
(1) 不存在的页面请求转到此页面而不是error404.html,所以我在页面中写道:
<?php if ($row ['page_url'] == '') { header( 'Location: http://www.mysite.com/error404.html' ); } ?>
(2)其他页面查询剥离不起作用,重定向到error404.html:
RewriteRule ^([A-Za-z0-9-]+)$ /database.php?database_url=$1
(3) 页面转到先出现的 RewriteRule:
RewriteRule ^([A-Za-z0-9-]+)$ /page.php?page_url=$1
RewriteRule ^([A-Za-z0-9-]+)$ /database.php?database_url=$1
通过上面的重写,数据库请求转到“page.php”文档,而不是“database.php”