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