我正在尝试根据用户输入的信息创建干净的 URL。我的 .htaccess 文件中有这个。
RewriteRule ^[^/]+/$ /records.php [QSA,L]
当访问如下地址时,这非常有用:example.com/blah/。我让它做的是打印类别“blah”或用户输入(或我链接到)的其他任何内容的所有记录。当用户输入并存储带有空格的类别时,问题就出现了。我想保持类别与空间的完整性,但我还需要创建该类别的 URL 友好版本。我链接到这样的类别:
$nospace = str_replace(" ", "-", $row['category']) ;
echo "<a href=/".$nospace."/>" . $nospace . "</a>";
当您到达目标 URL 时,问题就出现了。如果类别有空格,但我链接到带有 - 的类别,那么我自然不会从该类别中获得任何内容。它不存在。
如何保留类别名称中的空格,但同时能够创建 URL 友好的类别名称并链接到它?
php(看起来您正在使用的)支持
urlencode
和 urldecode
您可以使用 url 编码类别构建链接,然后在另一端对它们进行 url 解码。 =)
echo '<a href="/'.urlencode($row['category']).'">'.$row['category']."</a>";