Как настроить необязательные или “посторонние” URL-адреса?
-
05-07-2019 - |
Вопрос
Как бы вы настроили / обработали посторонние / необязательные объекты URL (возможно, псевдонимы)?
ИТАК, это хороший пример:
- stackoverflow.com/questions/99999999/
- stackoverflow.com/questions/99999999/вопрос-идет-сюда (плохой пример, но я не мог придумать лучшего)
URL-адреса Amazon еще более запутанны (например, Разжигать)
- amazon.com/gp/product/B000FI73MA/
- amazon.com/Kindle-Amazons-Беспроводное Устройство для чтения/dp/B000FI73MA/
[Редактировать] Возможно, это не самый лучший план действий, но я действительно спрашиваю об этом в целом.для любого отдельного сервера.
Решение
Этот метод широко известен как переписывание URL-адресов.Если вы ищете решение в IIS, вы можете использовать Перезапись ISAPI, что очень похоже на mod_rewrite мод_реврейтинг для apache.Или же вы можете пойти на ASP.Net Маршрутизация MVC механизм.
Другие советы
Если вы используете Apache, взгляните на mod_rewrite мод_реврейтинг
Что-то вроде этого (при ручной настройке URL-адресов):
RewriteRule ^([^\/]+)\/([^\/]+)\/(.*) index.php?controller=$1&view=$2&args=$3
В противном случае я позволяю фреймворку MVC обработать это и использовать аргументы контроллера соответствующим образом.
mod_rewrite часто используется, по крайней мере, в Linux с Apache.
Это задача для вашего веб-приложения, а не для вашего веб-сервера.
Для URL=> сопоставлений файлов, таких как PHP (или статические веб-серверы), это сложно;но на фреймворках MVC это вполне естественно, даже на фреймворках PHP MVC.