Я ищу инструмент, который управляет личными URL-адресами для одного домена, работающего на Apache (или IHS - IBM HTTP Server).
Что я имею в виду под тщеславным URL:
www.mycompany.com/ProjectA
перенаправит на servera.mycompany.com/whatever
www.mycompany.com/ProjectB
перенаправит на serverb.mycompany.com/another/directory
www.mycompany.com/FallCampaign
перенаправит на servera.mycompany.com/whatever/offer.html
Текущее реализованное решение состоит из тысяч обновляемых вручную каталогов с 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. Но это потребует тех же проблем с обслуживанием, которые вы уже описали.