【问题标题】:PHP mySQL Htaccess pretty linksPHP mySQL Htaccess 漂亮的链接
【发布时间】: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。

标签: php mysql .htaccess


【解决方案1】:

假设你有 mod_rewrite 设置,你可以在你的 .htaccess 中加入类似的东西:

RewriteEngine on
RewriteRule ^/([^/]+)/([^/]+) /index.php?table=$1&make=$2 [NC]

然后您可以使用 $_GET('table') 等从 php 访问值。

【讨论】:

  • 这只是说找不到页面。我已经尝试过了,但我不明白它应该如何工作。我制作了一个名为 localhost/pages/sample-page 的页面。我可以通过输入 localhost?table=pages&make=sample-page 而不是通过输入“漂亮的 url”
  • corz.org/serv/tricks/htaccess2.php 或您可以在附近的搜索引擎中找到的其他教程。
  • 向您展示了我的整个过程。与文档中的完全一样,但不起作用。请帮忙
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 2012-11-01
  • 2011-07-31
  • 2011-07-23
  • 2012-05-07
相关资源
最近更新 更多