【发布时间】:2012-06-15 22:52:30
【问题描述】:
有一个重写规则确保所有 URL 都指向 index.php 并保持“漂亮的格式”。
我仍然需要从他们那里获取信息,以确定向用户发送哪个页面。
说有一个网址
http://localhost/telephones/nokia
我需要找出 SQL 表('telephone')和品牌('nokia')
我该怎么做。
更新
RewriteEngine on
RewriteRule ^/([^/]+)/([^/]+) /index.php?table=$1&make=$2 [NC]
(在 .htaccess 中)
$table = $_GET['table']; $make = $_GET['make'];
$CONsiteurl = mysql_query("SELECT * FROM $table WHERE name = $make");
所以我们现在可以通过输入http://localhost/?make=nokia&table=telephones 来调出页面,但不能通过输入http://localhost/telephones/nokia 来访问它
为什么
【问题讨论】:
-
目前的重写规则是什么?
-
重写规则将所有内容发送到 index.php 中,我尝试从其中对斜杠进行爆炸并在结果上进行 foreach。不是很好,也不是很灵活。
-
您确定您的
.htaccess文件实际上正在被使用吗?为了确保这一点,只需添加一个Deny from all子句,看看你是否得到了 403。