【问题标题】:Permalinks Not Working with MySQL Database永久链接不适用于 MySQL 数据库
【发布时间】:2014-02-18 04:27:42
【问题描述】:

我有一个简单的 MySQL 数据库,其中包含 3 个字段(ref_id、slug、content)。我用以下数据填充了它(1,关于,示例内容;2,投资组合,示例内容;3,联系人,示例内容)。

我使用以下代码创建了一个基本的 PHP 页面:

<?php
require('db.php');

$ref_id = $_GET['ref_id'];

$query = "SELECT * FROM myWebsite WHERE ref_id='$ref_id'";
$page_query = mysql_query($query);

 mysql_close();

$slug = mysql_result($page_query, 0, "slug");
$content = mysql_result($page_query, 0, "content");

echo "<h1>$slug</h1>
<p>$content</p>";
?>

当您访问 mydomainname.com/myWebsite.php?ref_id=2 时,您会看到投资组合页面等。

到这里为止一切正常。

我想使用 mydomainname.com/portfolio,而不是使用 mydomainname.com/myWebsite.php?ref_id=2

根据我找到的教程和我所知道的,我创建了一个 .htaccess 文件并添加了以下代码:

<IfModule mod_rewrite.c>
RewriteEngine on
# Change following path
RewriteBase /$slug/
RewriteRule ^([A-Za-z0-9-]+)/?$ myWebsite.php?ref_id=$1 [L]
</IfModule>

这不起作用 --- 当我转到 mydomainname.com/portfolio 时,我得到“在此服务器上找不到请求的 URL /$slug/myWebsite.php。”我在这里错过了什么?

【问题讨论】:

  • 旁注:require('db.php'); 出现两次。
  • @Fred-ii- 已修复。谢谢。
  • 可爱的SQL injection attack 漏洞。享受你的服务器 pwn3d

标签: php mysql .htaccess permalinks


【解决方案1】:

我认为您从这些教程中逐字复制了以下内容:

RewriteBase /$slug/

删除上述行并重新启动服务器。

【讨论】:

  • 我仍然收到同样的错误...“在此服务器上找不到请求的 URL /myWebsite.php。”
  • 更改.htaccess文件时无需重启
  • @user1822824 你确定那个文件的名字是myWebsite.php吗?在同一个大写/小写?
  • @hjpotter92 我的错,它在服务器上的一个文件夹中(mydomainname.com/mywebsite/myWebsite.php)。
猜你喜欢
  • 2021-03-29
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 2012-04-06
  • 1970-01-01
相关资源
最近更新 更多