2012-06-15 51 views
0

有一个重写规则可以确保所有的URL头到index.php,并保持'漂亮的格式'。PHP mySQL Htaccess漂亮的链接

我仍然需要从他们那里获取信息来确定要发送用户的页面。

说有一个网址

http://localhost/telephones/nokia 

我需要找出SQL表(“电话”)和化妆(“诺基亚”)

如何做到这一点。

UPDATE

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

为什么打字得到它

+0

什么是当前的重写规则PHP访问的值是多少? – Ansari

+0

重写规则将所有内容发送到index.php,我已经从中尝试了对斜线的爆炸以及对结果的foreach。不太好或灵活。 –

+0

你确定你的'.htaccess'文件实际上被使用吗?为了确保,只需添加一个'拒绝所有'条款,看看你是否得到了403. – RandomSeed

回答

1

假设你有mod_rewrite设置,你可以把这样的事情在你的.htaccess:

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

然后你可以使用$ _GET(“表”)等

+0

这只是说没有找到页面。我试过了,但我不明白它应该如何工作。我制作了一个名为localhost/pages/sample-page的页面。我可以通过输入localhost?table = pages&make = sample-page来达到目的,但不要输入'pretty url' –

+0

http://corz.org/serv/tricks/htaccess2.php或其他一些你可以找到的教程在你附近的搜索引擎。 – barsju

+0

我读过所有这些。更新问题 –