Использование содержимого URL для отправки данных (post или get) на страницу PHP - PullRequest
1 голос
/ 06 декабря 2009

ОК, я создаю приложение для анкетирования, которым управляет один пользователь. Там он может создавать несколько анкет, каждая из которых имеет свое имя и набор настроек (зарегистрированные пользователи, вопросы, данные и т. Д.). В настоящее время к различным тестам обращаются пользователи без прав администратора (те, кто принимает тест), перейдя в /index.php?t=Questionnaire%20Name Очевидно, что это не лучший интерфейс для пользователей. Я хотел бы, чтобы пользователи могли получить доступ к этому тесту, перейдя в / QuestonnaireName. Я чувствую, что это можно сделать с помощью mod-rewrite, но я не знаю, как его использовать и с чего начать. Я закодировал все это в JS, PHP и MySQL. Любая помощь приветствуется. Спасибо.

Ответы [ 2 ]

1 голос
/ 06 декабря 2009

Вот пример для начала:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

Поместите это в файл с именем .htaccess в том же каталоге, что и index.php. Теперь все, что вы вызываете, будет перенаправлено в index.php, и вы можете получить URL с помощью $_SERVER['QUERY_STRING']. Тогда вы можете делать с ней все, что захотите.

Альтернативный способ избавить вас от внесения изменений в index.php:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?t=$1

Обратите внимание на t= после index.php?. Теперь все можно найти из $_GET['t'], но я не могу гарантировать, что это будет надежно, поскольку я сам не использовал этот метод. Проверьте это и посмотрите, работает ли он для вас.

EDIT

Отредактировано, чтобы разрешить доступ к физическим каталогам.

0 голосов
/ 06 декабря 2009

Вы должны использовать mod_rewrite:

Пример использования (немецкий, лучшего решения не нашел): http://www.handcode.de/talks/phpug-mod_rewrite-20080312/slide-38.html

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