Создать URL-адреса из базы данных - PullRequest
0 голосов
/ 03 марта 2011

Я пытаюсь создать чистые URL из информации, введенной пользователем. У меня есть это в моем файле .htaccess.

RewriteRule ^[^/]+/$ /records.php [QSA,L]

Это прекрасно работает при переходе на такой адрес: example.com/blah/. То, что я делаю, это печатает все записи категории "бла" или что-либо еще, что вводит пользователь (или я ссылаюсь на). Проблема возникает, когда пользователь входит и сохраняет категорию с пробелом. Я хочу сохранить целостность категории с пробелом, но мне также необходимо создать версию категории, удобную для URL. Я ссылаюсь на такие категории, как:

$nospace = str_replace(" ", "-", $row['category']) ; 
echo "<a href=/".$nospace."/>" . $nospace . "</a>";

Проблема возникает, когда вы приходите на целевой URL. Если в категории есть пробел, но я ссылаюсь на категорию с -, я, естественно, ничего не получаю из этой категории. Его не существует.

Как сохранить пробел в названии категории, но в то же время иметь возможность создать понятное для URL имя категории и ссылку на него?

1 Ответ

0 голосов
/ 03 марта 2011

php (это то, что вы используете) поддерживает urlencode и urldecode Вы можете создавать свои ссылки с помощью URL-кодированных категорий, а затем на другом конце URL-адреса их декодировать. =)

echo '<a href="/'.urlencode($row['category']).'">'.$row['category']."</a>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...