Назад | Перейти на главную страницу

Менеджер уникальных URL-адресов для веб-сервера Apache

Я ищу инструмент, который управляет личными URL-адресами для одного домена, работающего на Apache (или IHS - IBM HTTP Server).

Что я имею в виду под тщеславным URL:

Текущее реализованное решение состоит из тысяч обновляемых вручную каталогов с php-скриптами, которые перенаправляют пользователя. Это стало настоящим кошмаром для обслуживания. Преобразование этого решения в решение с помощью обновлено вручную Файл (ы) .htaccess также не является вариантом *.

В идеале этот инструмент должен:

* использование одного отредактированного вручную файла .htaccess создает слишком большой риск, если в файл будет добавлена ​​ошибка, это может повлиять на все URL-адреса. Наличие нескольких файлов .htaccess в каталогах - такой же кошмар обслуживания, как и использование перенаправления php.

Я не знаю, что именно определяет «кошмар обслуживания» в вашей книге, но вы можете попробовать использовать динамическую карту перезаписи в apache:

RewriteEngine on
RewriteMap    vanity-map       prg:/path/to/vanity.pl
RewriteRule   ^/(.*)/(.*)$  /${vanity-map:$1}/$2

vanity.pl может быть простым скриптом на Perl (не забудьте установить $| = 1;), который получает первую часть URL-адреса запроса (как указано выше) на STDIN и предполагается переписать это - например, запрашивая базу данных.

Теперь остается только интерфейс. Я неопытный программист на Ruby on Rails (это просто занятие в свободное время), но я думаю, что если это не нужно, чтобы выглядеть красиво, даже я мог бы написать приложение, которое аутентифицирует пользователя, позволяет ему создавать перезапись и показывать это должно быть одобрено некоторыми ИТ-специалистами / $ ВСЕГО меньше чем за неделю, поэтому я не думаю, что у любого настоящего программиста возникнут проблемы с выполнением этого за несколько часов. В зависимости от базы данных могут быть даже легко доступны внешние интерфейсы, которые будут выполнять работу с небольшой настройкой (мне на ум приходит php * admin).

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

Я видел это только наоборот. Например, webmail.domain.tld перенаправление на domain.tld/squirrel.

Я не считать вы можете делать то, что вы описываете, через DNS: как только вы переходите от домена к пути, вы выходите из области того, что обрабатывает DNS.

Вы как бы описываете сокращение URL, например TinyURL. Но это потребует тех же проблем с обслуживанием, которые вы уже описали.