Php htaccess不显示mysql

Php htaccess不显示mysql,php,.htaccess,Php,.htaccess,我正在尝试重写URL,但它并没有按照我的计划进行 我想从中得到: /category.php?nameid=Test&id=1 为此: /c/Test/1 目前只有这一个有效: /c/Test/当我转到/c/Test/1/我看到一个白色页面时,他没有从mysql获取信息 我的访问代码: Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteRule c/(.*)$ category.php?nameID=$1 [L] Rewr

我正在尝试重写URL,但它并没有按照我的计划进行

我想从中得到:

/category.php?nameid=Test&id=1

为此:

/c/Test/1

目前只有这一个有效:
/c/Test/
当我转到
/c/Test/1/
我看到一个白色页面时,他没有从mysql获取信息

我的访问代码:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule c/(.*)$ category.php?nameID=$1 [L]
RewriteRule c/(.*)/(.*)$ category.php?nameID=$1&id=$2&%{QUERY_STRING} [L]

RewriteRule ^([^\s%20]*)[\s%20]+(.*)$ $1-$2 [E=NOSPACE:1]

RewriteCond %{ENV:NOSPACE} =1
RewriteRule ^([^\s%20]+)$ $1 [R=301,L]
该页面的我的php代码:

 <?php
                // BEGIN OF SHOWING CONTENT PAGE
                if (isset($_GET['id'])){
                $naamID = mysql_real_escape_string($_GET['nameID']);
                $id     = mysql_real_escape_string($_GET['id']);
                $idnext = $id + 1;
                $gn     = (" SELECT * FROM category WHERE name='".$naamID."'") or die(mysql_error());
                $go     = (" SELECT * FROM post WHERE id='".$id."'") or die(mysql_error());
                $gnn    = mysql_query($gn) or die(mysql_error());
                $goo    = mysql_query($go) or die(mysql_error());
                $gnnn   = mysql_fetch_array($gnn);
                $gooo   = mysql_fetch_array($goo);
                ?>


                <?php
                echo '<p>';
                if(empty($gooo['youtube'])){
                } else {
                ?>              <h1> <?php echo htmlspecialchars($gooo["title"]); ?> </h1><br />
                <?php
                $fullurl1 = $gooo['youtube'];
                $videoid1=substr($fullurl1,-11);
                ?>
                <?php
                echo '<p><a href="/editpost.php?id='.$gooo['id'].'"><i>Edit this post</i></a><br />';
                echo '<iframe width="560" height="315" src="//www.youtube.com/embed/'.$videoid1.'" frameborder="0" allowfullscreen></iframe><br />';
                echo '</p>';

                }

                if(empty($gooo['pic'])){
                } else {
                ?> <h1> <?php echo htmlspecialchars($gooo["title"]); ?> </h1><br />
                <?php
                echo '<p><a href="/editpost.php?id='.$gooo['id'].'"><i>Edit this post</i></a><br />';
                echo '<img src="'.$gooo["pic"].'" style="max-height: auto; max-width: 600px;"/><br></p>';
                }
                echo '</p>'; 
                }
                ?>



                <?php
                // END OF SHOWING CONTENT PAGE

                // BEGIN category page
                if(isset($_GET['nameID'])){

                // PAGE BEGIN
                $count_query = mysql_query("SELECT * FROM post ORDER BY date ASC");
                $nr = mysql_num_rows($count_query);
                if(isset($_GET['page'])){
                $page = preg_replace('#[^0-9]#i','',$_GET['page']);
                }else{
                $page = 1;
                }
                $perPage = 5;
                $lastPage = ceil($nr / $perPage);

                if($page < 1) {
                $page = 1;
                } else if ($page > $lastPage){
                $page = $lastPage;
                }
                $limit = 'LIMIT ' . ($page - 1) * $perPage .',' .$perPage;
                $query = ("SELECT * FROM post WHERE cat='".$nameID."' ORDER BY date DESC ".$limit."");

                if($lastPage != 1){


                if($page != $lastPage){
                $naamID2 = mysql_real_escape_string($_GET['nameID']);
                $next = $page + 1;
                $pagination .= '<a href="/category.php?nameID='.$naamID2.'&page='.$next.'">Next..   </a>';
                }

                if($page != 1){
                $naamID1 = mysql_real_escape_string($_GET['nameID']);
                $prev = $page - 1;
                $pagination .= '<a href="/category.php?nameID='.$naamID1.'&page='.$prev.'">   ..Prev</a>';


                }
                }
                // PAGE END 
                ?>

                <?php

                $name = mysql_real_escape_string($_GET['nameID']);

                $nameID = mysql_real_escape_string($_GET['nameID']);
                $na = (" SELECT * FROM category WHERE name='".$nameID."'") or die(mysql_error());
                $nb = (" SELECT * FROM post WHERE cat='".$nameID."' ORDER BY date DESC ".$limit."") or die(mysql_error());
                $naa = mysql_query($na) or die(mysql_error());
                $nbb = mysql_query($nb) or die(mysql_error());
                $naaa = mysql_fetch_array($naa);
                ?>

                <h1> <?php echo htmlspecialchars($naaa["name"]); ?></h1><br />
                <i> <?php echo htmlspecialchars($naaa["description"]); ?> </i><br />
                <?php
                echo '<p><a href="category.php"><i>back to all categoties</i></a></p>';

                while($nbbb=mysql_fetch_array($nbb, MYSQL_ASSOC)){

                $fullurl = $nbbb['youtube'];
                $videoid=substr($fullurl,-11);

                // showing youtube video when there is no picture
                if(empty($nbbb['youtube'])){
                } else {
                if( $nbbb['NSFW'] == 0) {
                echo '<h1><a href="category.php?nameid='.$naaa['name'].'&id='.$nbbb['title'].'">';?><?php echo htmlspecialchars($nbbb["title"]); ?></a></h1><br><?php
                echo '<p><iframe width="560" height="315" src="//www.youtube.com/embed/'.$videoid.'" frameborder="0" allowfullscreen></iframe>';
                echo '</p>';
                } 

                if( $nbbb['NSFW'] == 1) {
                echo '<h1><a href="category.php?nameid='.$naaa['name'].'&id='.$nbbb['title'].'">';?><?php echo htmlspecialchars($nbbb["title"]); ?></a></h1><br><?php
                echo '<p><a href="category.php?nameid='.$naaa['name'].'&id='.$nbbb['title'].'"><img src="http://i.imgur.com/w88amwc.png"/></a><br>';
                echo '</p>';
                } 

                }
                // showing picture when there is no youtube
                if(empty($nbbb['pic'])){
                } else {

                if( $nbbb['NSFW'] == 0) {
                echo '<h1><a href="category.php?nameid='.$naaa['name'].'&id='.$nbbb['title'].'">'; ?><?php echo htmlspecialchars($nbbb["title"]); ?> <?php echo '</a></h1><br>'; ?>
                <?php
                echo '<p><img src="'.$nbbb["pic"].'" style="max-height: auto; max-width: 600px;"/>';
                echo '</p>';
                } 

                if( $nbbb['NSFW'] == 1) {
                echo '<h1><a href="category.php?nameid='.$naaa['name'].'&id='.$nbbb['title'].'">'; ?><?php echo htmlspecialchars($nbbb["title"]); ?><?php echo '</a></h1><br>'; ?>
                <?php
                echo '<p><a href="category.php?nameid='.$naaa['name'].'&id='.$nbbb['title'].'"/><img src="http://i.imgur.com/w88amwc.png"/></a><br>';
                echo '</p>';
                } 


                }
                }
                echo '<p>';
                echo '<b><i>'.$pagination.'</b></i>';
                echo '</p>';

                }// END OF SHOWING MAIN PAGE OF CATEGORYS
                ?>

第一行表示所有内容(乘以0或更多)都将到达变量$1。因此,当您输入
/c/Test/1/
时,您将进入
category.php?nameID=Test/1/
。您需要重写一点,以便只允许您想要的字符,例如,仅a-zA-z结构。第二行也一样,在第一个变量的位置,例如a-zA-Z,第二个变量的位置是0-9,因为它是ID,所以可能是一个int。示例脚本

RewriteRule c/([a-zA-Z]+)$ category.php?nameID=$1 [L]
RewriteRule c/([a-zA-Z]+)/([0-9]+)$ category.php?nameID=$1&id=$2&%{QUERY_STRING} [L]

您应该在PHP中使用这种逻辑,而不是在.htaccess中。非常感谢您在这方面的帮助。但是现在页面
category.php?nameID=$1&id=$2
出现了一个小问题,他显示了我需要的内容,但包括了?nameID=$1中我不想显示的详细信息哦,等等,你从nameID哪里得到这些详细信息?你对数据库的查询是什么?我不知道你的意思,所以我已经将我的脚本上传到了pastebin。此粘贴不存在,可能您在选项中给了10分钟。把它贴在主贴上。
RewriteRule c/([a-zA-Z]+)$ category.php?nameID=$1 [L]
RewriteRule c/([a-zA-Z]+)/([0-9]+)$ category.php?nameID=$1&id=$2&%{QUERY_STRING} [L]