Замена "X" в этом URL www.websitename.com/info.php?lid=X - PullRequest
0 голосов
/ 17 сентября 2010

Помогите пожалуйста.

Я ищу лучший способ заменить "X" (число) в этом URL

www.websitename.com / info.php? Lid = x

"x" - это числовое значение - я хотел бы заменить "X" на поле "name" из моей базы данных.

Мод переписывает путь? У меня есть несколько URL-адресов одного и того же формата (разное значение «X», конечно, в конце), которые я хочу изменить, чтобы создать более удобные URL-адреса, заменив «X» на соответствующее значение из поля базы данных «name».

Если переписать мод - это путь, кто-нибудь может помочь с рекомендуемым кодом для входа в htaccess?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 сентября 2010

Полностью отредактировано: мой предыдущий ответ был основан на неправильном понимании того, что вы пытаетесь задать.

То, что вы просите, - это создать дружественную систему URL.Это описано во многих руководствах - просто выполните поиск «дружественных URL», и вы найдете множество ресурсов.

Вот краткая информация о том, как это работает ...

Чтобы создать дружественные URLдля вашего сайта вам понадобится что-то вроде этого в .htaccess (не уверен, правильно ли я понял RewriteRule, потому что это совершенно не в моей голове, так что поискайте в полномасштабном учебнике для проверки):

<IfModule mod_rewrite.c>  
RewriteEngine on
RewriteRule /info/(.+) /info.php?name=$1
</IfModule>

Это означает, что запрос к http://www.example.com/info/foo будет переписан на http://www.example.com/info.php?name=foo.

Затем вам необходимо изменить приложение (в частности, файл info.php) для обработки этого новогоФормат запроса, в котором name указан в URL-адресе вместо id.

. Обратите внимание, что в этом примере все имена (например, «foo») должны быть уникальными.Если какие-либо два элемента в вашей базе данных имеют одно и то же имя, у вас будут проблемы.Имея это в виду, вы можете добавить новое поле в таблицу базы данных, которая представляет собой уникальный столбец, содержащий строку, содержащую только буквенно-цифровые символы и дефисы, подходящие для использования в URL-адресе (строка такого типа называется слагом).Вы будете использовать этот слаг вместо идентификатора для запросов к базе данных.Допустим, вы создаете элемент под названием «Дискомбобулятор».Когда этот элемент создается в вашем приложении, он также должен создать слаг по образцу «the-discombobulator» и обеспечить его уникальность.Если вы создадите второй элемент, также называемый «Дискомбобулятор», ваше приложение может создать для него слаг, например «the-discombobulator-2».

Так что, когда кто-то запрашивает http://www.example.com/info/the-discombobulator-2, mod_rewrite изменяет его на http://www.example.com/info.php?name=the-discombobulator-2 и передает его вашему приложению.Ваше приложение получает параметр name, который является «-comcombulator-2», ищет его в поле slug базы данных и получает соответствующую запись.

0 голосов
/ 17 сентября 2010

Я думаю, это то, что вы ищете:
http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html

...