我正试图找出如何在使用$_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_NAME
s,RewriteRule
代码将不起作用,因为SCRIPT_NAME
将为PHP脚本获取真正的文件名。
关于php - 在htaccess中调用$ _GET变量和url解析时如何回显文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11750890/