【问题标题】:How to make my site use clean urls?如何让我的网站使用干净的网址?
【发布时间】:2013-07-21 20:31:42
【问题描述】:

我在下面的代码创建了诸如“site.com/image.php?id=12”之类的链接,但是有没有人有任何提示可以使其创建诸如“site.com/image/12”之类的链接类似,无需为每个单独的 ID 手动创建页面?

    $result = mysqli_query($con,"SELECT * FROM tabl1 where name like '%$s%'");
    while($row = mysqli_fetch_array($result))
      {
    echo "<a href='image.php?id=" . $row['id'] . "'>" . $row['Name'] . "</a>";
    echo "<br>";
    }

我在 image.php 页面上有类似的代码

 $result = mysqli_query($con,"SELECT * FROM celeb where id like '$id'");

它使用我网站上 ?id=12 部分的 id,所以我不确定如果我将其更改为干净的 url 会如何工作。

任何帮助都会很有用,我是这里的 php 新手。

编辑:

RewriteEngine On 
RewriteRule ^image/id/([^/]*)\.php$ /image.php?id=$1 [L] 

我创建了一个 .htaccess 文件并将其放入其中,但是当我单击链接时,它仍然转到 image.php?id=12 我做错了吗?还有什么我必须做的吗?

【问题讨论】:

  • 谷歌这个关键字:apache mod_rewrite
  • 我读过这方面的内容,但没有成功。我需要更改我的 php 代码吗?
  • 如果你用 mod_rewrite 正确配置了 apache,那么你就不需要改变你的代码了。

标签: php mysql sql clean-urls


【解决方案1】:

此网站为您完成工作 http://www.generateit.net/mod-rewrite/

The original URL:
http://site.com/image.php?id=12
The rewritten URL:
http://site.com/image/12

htaccess:
RewriteEngine On
RewriteRule ^image/([^/]*)$ /image.php?id=$1 [L]

【讨论】:

  • RewriteEngine On RewriteRule ^image/id/([^/]*)\.php$ /image.php?id=$1 [L] 我创建了一个 .htaccess 文件并将其放入其中,但是当我单击链接时它仍然转到 image.php?id=12 我做错了什么吗?还有什么我必须做的吗?
  • 你的 URL 是你要去http://site.com/image/12 吗?或http://site.com/image.php?id=12,并期望它自动转到http://site.com/image/12
  • 不,我的意思是,很抱歉混淆了。接受答案很好,这样其他人就知道他们可以继续下一个问题了^^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 2013-06-06
  • 1970-01-01
  • 1970-01-01
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多