Правила перезаписи Apache для строки запроса

#apache #rewrite

#apache #url-перезапись

Вопрос:

Возможно, то, что мне нужно сделать, невозможно, но я просто не могу найти соответствующую информацию об этом.

Проблема: я унаследовал веб-сайт с уродливыми и бессмысленными URL-адресами, и меня попросили упростить их запоминание (это должно было быть сделано в первую очередь!), Так что теперь я должен отключить это:

http://www.domain.com/page.php?id=XXX

в это:

http://www.domain.com/name-of-page-that-refers-to-id-xxx

(например www.domain.com/page.php?id=100 => www.domain.com/agenda )

Возможно ли это сделать?

Ответ №1:

Вам нужно будет где-то установить соединение с agenda идентификатором 100 . Если это не изменится (я не предполагаю, что это так), вы можете определить одно правило для каждого сайта.

Если это не статично, вам придется изменить ваше приложение и, возможно, схему базы данных. Самым простым способом, на мой взгляд, было бы добавить столбец sitename в таблицу вашей базы данных, в которой хранятся сайты, и создать для него уникальный индекс. Затем вам нужно изменить свое приложение, чтобы разрешить такие URL-адреса, как page.php?sitename=agenda .

Затем вы можете добавить правила перезаписи, которые преобразуются www.domain.com/agenda в www.domain.com/page.php?sitename=agenda

Комментарии:

1. Да, сайт является dymanic, поэтому мне придется изменить схему. Спасибо! Я попробую.