【发布时间】:2016-02-08 22:20:59
【问题描述】:
在 mod-rewrite .HTACCESS 和 php 中有问题。
我有一个页面名称users.php 这个页面显示选定的用户,我的正常链接是这样的users.php?member=John 然后我将它更改为像这样users/member/John 的清理 url 但我的问题是当你使用普通 url 访问页面时它会工作很好,但现在我已经在我的 .HTACCESS 中重写了它,它会将我带到用户页面,但不会显示信息,它将为空
这是我的 .HTACCESS
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+users\.php\?member=([^\s&]+) [NC]
RewriteRule ^ users/member/%1? [R=301,L]
RewriteRule ^users/member/([^/]+)/?$ users.php?member=$1 [L,QSA]
这是我的 PHP 代码
<?php
if(isset($_GET['member'])) {
include($root . '_inc/dbconn.php');
try{
$db_conn = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME,DB_USERNAME,DB_PASSWORD);
$db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmtData = $db_conn->prepare("SELECT * FROM users WHERE username=:getmember ");
$stmtData->bindParam(":getmember", $_GET['member']);
$stmtData->execute();
$UserData = $stmtData->fetch(PDO::FETCH_OBJ);
if ($UserData) {
$Dusername = $UserData->username;
$Dphoto = $UserData->photo;
$Demail = $UserData->email;
}
}
catch(PDOException $e)
{
echo "Error:" . $e->getMessage();
}
$db_conn = null;
}
?>
<?php echo $Dusername;?>
【问题讨论】:
标签: php .htaccess mod-rewrite