Как я могу удалить переменную ID из URL с помощью htaccess? - PullRequest
0 голосов
/ 01 августа 2010

Извините за сложный вопрос.У меня есть веб-сайт, который читает содержимое из базы данных MySQL для получения видеоинформации, как YouTube.

У меня есть 7 столбцов: id, заголовок, desc, url, дата, кто добавил, просмотров.1004 * Что я хочу сделать, это переписать URL с /video.php?id=X на /title-music-video.html

. (http://www.devarticles.com/c/a/Apache/Using-ForceType-For-Nicer-Page-URLs/1/) статья для этого, но htaccess ForceType не работает для меня.

Я знаю, что есть способ добавления нового столбца в таблицу для оптимизированной ссылки, но я не хочу указывать каждый URL-адрес SEO при добавлении новых записей с формой.на данный момент.

1 Ответ

1 голос
/ 01 августа 2010

Вы прочитали всю статью?ForceType не выполняет магическое преобразование URL-адресов для вас ... он просто заставляет файл быть определенным типом - таким образом, ваш .HTML-URL можно интерпретировать как PHP.

Ваши видео хранятся вбаза данных?И вы используете ID, чтобы вытащить их?В этом случае вы можете добавить в таблицу дополнительный столбец, обычно называемый «slug», и сохранить в нем значение «artist-song-music-video» - этот столбец должен быть уникальным.Если вы считаете, что у вас могут быть две страницы с одним и тем же именем, используйте идентификатор и слаг в URL (например, как это делает этот сайт - например, videos/5/artist-song-music-video).

Тогда, что вы на самом делесделать это переписать URL - /artist-song-music-video.html на /video.php?page=artist-song-music-video или что-то в этом роде.Затем в вашем index.php обычно есть «маршрутизатор», который принимает $_GET['page'], ищет этот фрагмент в БД и отображает правильное содержимое.

Я не помню точное правило mod_rewriteдля перевода таких URL, но в сети есть десятки учебных пособий.Гугл это.


Мне пришло в голову, что artist и song могут быть переменными.В этом случае замените «slug» двумя предположительно существующими столбцами «artist» и «song» и найдите его таким образом.Просто взломайте эту часть "-music-video.html".Я действительно не знаю, каков твой план, поэтому я не могу сказать больше.

...