2

我试图弄清楚如何在使用该$_GET功能单击链接时回显一行文本。这是我现在所拥有的:

<nav>
<ul>
    <li>
    <a href="?action=albums">Albums</a>
    </li>
    <li>
    <a href="?music">Music</a>
    </li>
</ul>
</nav>

<?php
if(isset($_GET['action']) && $_GET['action']=='albums'){
echo'<h1>Albums</h1>';
}
?>

这是我的 htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /lr/profile.php?username=$1
4

1 回答 1

5

如果该代码不是 的一部分index.php,或者同样无法在 访问http://yourhost/,它将无法工作,因为<a href="?action=albums">不会转到您所在的任何文件,它会转到根目录。试试<a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?action=albums">Albums</a>

如果您有一个.htaccess文件,请确保您RewriteRule的文件[QSA]末尾也有。此外,如果您使用s,SCRIPT_NAME代码将不起作用,因为您可以获得 PHP 脚本的真实文件名。RewriteRuleSCRIPT_NAME

于 2012-08-01T00:22:51.600 回答