【发布时间】:2017-07-24 06:14:31
【问题描述】:
我正在使用 PHP 在我的本地计算机上开发一个网站。
在我的 .htaccess 文件中,我有以下行:
RewriteRule ^project-details/([a-zA-Z0-9-]+)/ project-details.php?pn=$1 [NC,L]
在产品页面上,我有包含./product-details/icecap-mouse249/...之类的链接的项目,.htaccess 文件将依次获取并将“icecap-mouse249”分配给行尾的“pn” :?pn=$1 [NC,L].
当点击该项目时,该人将被带到产品详细信息页面。在该页面中,我有以下行:
$pn = $_GET['pn'];
这允许 URI 提取“pn”值并将其分配给变量 $pn,并利用该变量从数据库中提取数据并显示该特定产品的所有信息。
所以,它可以在我的机器上本地运行,但是当我上传文件时,页面不会使用$_GET[pn] 提取任何内容。
产品详细信息页面有效,因为当我将值硬编码为 $pn 时:
$pn = 'icecap-mouse249';
页面显示正常...从数据库中提取数据。
我已经完成了phpinfo(); 以查看是否启用了 mod_rewrite,但 phpinfo 页面的“已加载模块”部分未显示。我按了 CTRL+F 看看是否可以通过 FIND 工具找到“mod_rewrite”,但没有弹出任何内容。
让我感到困惑的是它在我的机器上本地运行。
我花了一个小时与我的主机提供商...他们没有任何帮助。
我希望我对自己的解释是正确的,任何见解都将不胜感激。谢谢。
【问题讨论】:
标签: php .htaccess mod-rewrite server phpinfo