Канонический Apache переписывает с пассажиром (mod_rails)

Я проверил бы Ваш GPOS для проверки их arn't продвижение автоматической политики приема

Пользовательские Настройки-> Windows Settings-> безопасность-> политики политик/Автоприема С открытым ключом

0
задан 26 January 2010 в 01:16
2 ответа

ОБНОВЛЕНИЕ: По-видимому, я работал, более старая версия Пассажира (не знайте, как я пропустил это). Я в настоящее время выполняю Пассажира 2.2.9 и помещаю оригинал, переписывают в работах vhost как ожидалось (и желаемый)!

Групповое обсуждение Google обходных решений для более старых версий Пассажира: http://groups.google.com/group/phusion-passenger/browse_thread/thread/5e019e5d65beb54f

Для более старых версий:

Разместите www как отдельный vhost и перенаправление (предложение Jonathan Clarke)

RedirectMatch 301 ^(.*)$ http://mydomain.com$1

Сделайте переписывание в приложении:

# before_filter :trim_www 
def trim_www 
  if request.subdomains.first == "www" 
    if request.subdomains == ["www"] 
      redirect_to "#{request.protocol}#{request. 
domain}#{request.port_string}#{request.path}" 
    else 
      subdomains = request.subdomains.shift.join(".") 
      subdomains << "." unless subdomains.blank? 
      redirect_to 
"#{request.protocol}#{subdomains}#{request.domain}#{request.port_string}#{r equest.path}" 
    end 
  end 
end 

(Опоры к RSL в исходном сообщении для этого кода)

0
ответ дан 4 December 2019 в 23:13

Попытайтесь заменить ту последнюю строку следующим:

RewriteRule ^ (.*) http://mydomain.com % {REQUEST_URI} [R=permanent, QSA, L]

Если это все еще перестало работать, я рекомендую использовать отдельный виртуальный хост к URL www.mydomain.com, который просто делает Переписывание на mydomain.com. Пассажир не играет хорошо с mod_rewrite.

Надеюсь, это поможет.

1
ответ дан 4 December 2019 в 23:13
  • 1
    Ваше первое предложение didn' t работа, но Ваша вторая делает. Я использовал Перенаправление вместо Переписывания так как я don' t хотят это vhost (с www) хостинг моего приложения: RedirectMatch 301 ^(.*)$ http://mydomain.net$1 ). Это работает, но это действительно неэлегантно и очень неподобно направляющей. Нет ли действительно никакой лучший путь?? –  neezer 26 January 2010 в 08:30
  • 2
    У меня всегда были проблемы с mod_rewrite и Пассажиром. Что касается Вашего самоответа, проверьте директиву PassengerHighPerformance ( modrails.com/documentation/… ) касающийся этого. Существует предложенное решение там также. Спасибо за детали! –  Jonathan Clarke 26 January 2010 в 12:38
  • 3
    Да, я видел ту опцию также. Однако значение по умолчанию для него (согласно документам), кажется, ' off' и мой переписывать правила weren' t работающий прежде, так по крайней мере, для меня это didn' t работают так хорошо. Но на самом деле... теперь, когда я думаю об этом... Я просто обновил пассажира вчера вечером, возможно, I' ll дают ему другой выстрел... –  neezer 26 January 2010 в 20:41
  • 4
    Да, это была проблема версии. I' m, теперь работающие 2.2.9 и мой оригинал, переписывают в работах vhost отлично. Я обновил свое сообщение, чтобы отразить это и включать более старые методы для более старых версий. Спасибо за справку!! –  neezer 26 January 2010 в 21:54

Теги

Похожие вопросы