Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite和php在get方法中不起作用_Php_.htaccess_Mod Rewrite - Fatal编程技术网

Mod rewrite和php在get方法中不起作用

Mod rewrite和php在get方法中不起作用,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,mod rewrite.HTACCESS和php中存在问题。 我有一个页面名users.php这个页面显示选中的用户,我的正常链接是这样的users.php?member=John,然后我将其更改为像这样的清理urlusers/member/John,但我的问题是,当你使用正常url访问页面时,它可以正常工作,但现在我已经在我的.HTACCESS中重写了它到用户页面但不显示信息时,该页面将为空 这是我的.HTACCESS RewriteCond %{THE_REQUEST} ^[A-Z]{3,}

mod rewrite.HTACCESS和php中存在问题。 我有一个页面名
users.php
这个页面显示选中的用户,我的正常链接是这样的
users.php?member=John
,然后我将其更改为像这样的清理url
users/member/John
,但我的问题是,当你使用正常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;?>

问题在于您的
重写条件。您必须否定该条件(注意“!”符号):


您可以在上测试重写规则。

仍然是一样的
RewriteCond %{REQUEST_URI} !^[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]