PHP переписывание URL и htaccess - PullRequest
0 голосов
/ 22 февраля 2012

Интересно, не могли бы вы помочь мне с проблемой, с которой я столкнулся, и дать несколько советов о передовой практике?

У меня есть таблица mysql следующим образом

команда

столбцы: идентификатор, имя, описание данные: 1, Астон Вилла, текст здесь

Мне нужно выполнить динамическое переписывание, чтобы извлечь данные из таблицы. Единственный способ сделать это - использовать _GET в качестве переменной, найти имя и изменить регистр на строчные и поменять их местами для -. Я знаю, что есть несколько проблем безопасности, связанных с этим, но это красивый URL www.mydomain.com/clubs/aston-villa

Я смотрел на некоторые фреймворки, такие как yii, и они, кажется, делают это на стороне php, как это делается в файле htaccess.

Может ли кто-нибудь дать мне несколько советов о том, как лучше всего добиться этого, мне не удалось найти в Интернете какой-либо достойной информации о наилучших способах достижения этого.

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

Richard

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Лучшее решение - перенаправить все запросы в один файл (это называется начальной загрузкой). Перенаправление выполняется в .htaccess примерно так:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # Rewrite all other URLs to index.php/URL
    RewriteRule ^(.*)$ index.php/$1 [PT,L]

</IfModule>

Затем в index.php проанализируйте URL-адрес запроса, например, через значения $_SERVER.

Еще лучше, просто загрузите Google PHP и получите один из очень простых функционирующих примеров / демонстраций

0 голосов
/ 22 февраля 2012

Я использую файл .htaccess с правилом mod_rewrite, который перенаправляет все 404 ошибки в конкретный скрипт. С этого момента, поскольку у вас есть доступ к исходному URL-адресу (красивому, который только что активировал 404), вы можете проанализировать его и выяснить, что было задумано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...