匹配url与表中的标题不起作用

时间:2014-12-16 20:23:52

标签: php mysql .htaccess

我正在尝试将来自网址的标题与来自mysql行的标题进行匹配。 但是无法让它发挥作用。

这是我的链接:

http://www.domain.com/article/What-the-HECK

这是我的-HTacces文件行:

RewriteRule ^article/(.*)$ article.php?id=$1

这是我从表格中选择的:

$id = $_GET['id']; 
$title = str_replace('-', ' ', $id);

$result = mysql_query("SELECT * FROM articles WHERE status = '1' AND title = '$title' ORDER BY id DESC LIMIT 5") or die(mysql_error());

mysql中的标题是" What-the-heck"如果我试图回应它,那么页面上的输出与mysql标题相同是显而易见的

2 个答案:

答案 0 :(得分:0)

一些事情:

  1. 禁用MultiViews,因为您的PHP文件名与路径名
  2. 相同
  3. 在比较之前将$title小写。
  4. <强> htaccess的:

    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^article/(.+)$ article.php?id=$1 [L,QSA,NC]
    

    在PHP代码中,在lower列比较的MySQL查询中使用title函数。

    btw您必须使用PDO_MySQLMySQLi否则此代码容易受到SQL注入攻击。

答案 1 :(得分:0)

它使用了URL中的id

http://www.domain.com/article-3-What-the-HECK

RewriteRule ^文章 - ([0-9] +) - (。*)$ article.php?id = $ 1&amp; title = $ 2

http://www-domain.com/article-3-What-the-HECK

现在它正在工作,我仍然在URL

中有标题

希望它能为我的SEO表现提供更多关键词..