Попытка переписать страницу, не найденную перед отображением сообщения об ошибке 404 - PullRequest
0 голосов
/ 23 февраля 2011

База кода rails, над которой я работаю, поддерживает два веб-приложения, и мы используем apache для интеллектуальной перезаписи URL, когда пользователь заходит на наш домен, например, если вы заходите на наш сайт с

app_name.domain_name.com

переписывается в

app_name.domain_name.com / app_name

и вызываются наши вложенные маршруты.Однако это недавнее изменение в нашем приложении, и (очевидно) некоторые закладки не пересылаются должным образом.То, что я хотел бы сделать, это изменить наши маршруты (или, возможно, добавить небольшую часть промежуточного программного обеспечения), которая пытается переписать tot с правильным URL-адресом, а не отображать сообщение 404.

То есть, если клиентпытается просмотреть

app_name.domain_name.com / controller / action

наши вложенные маршруты пропускают вызов, и вместо 404ing приложение переписывает запрос на:

app_name.domain_name.com / app_name / controller / action

Могу ли я сделать это либо с умным маршрутом, либо с некоторым промежуточным программным обеспечением?Если нет, то можно ли это сделать с помощью переписывания Apache?

Спасибо

1 Ответ

0 голосов
/ 23 февраля 2011

Попробуйте это

RewriteCond %{HTTP_HOST} ^web_app.benchmark.company.net$ [NC]
RewriteRule ^/?(.*) /web_app/$1 [L,R=permanent]

(обратите внимание, что я не проверял это)

Я рекомендую вам прочитать Руководство по переписыванию Apache .

...