我正试图找出如何在使用$_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

最佳答案

如果该代码不是index.php的一部分,或者同样在http://yourhost/无法访问,它将无法工作,因为<a href="?action=albums">不会转到您所在的任何文件,而是转到根目录。尝试<a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?action=albums">Albums</a>
如果您有一个.htaccess文件,请确保您的RewriteRule文件末尾也有[QSA]。此外,如果使用SCRIPT_NAMEs,RewriteRule代码将不起作用,因为SCRIPT_NAME将为PHP脚本获取真正的文件名。

关于php - 在htaccess中调用$ _GET变量和url解析时如何回显文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11750890/

10-11 12:34