2010-07-09 3 views
2

У меня есть сервер Glassfish 3 и добавили Quercus 4.0.7, чтобы иметь возможность запускать на нем PHP-приложения. Все отлично работает с ним. Теперь я пытаюсь запустить приложение Question2Answer на своем сервере. Я смог открыть приложение, но это не позволяет мне перемещаться со страницы на страницу, потому что они используют файл .htaccess для перезаписи URL-адреса. Мне было интересно, как мы переписываем URL-адрес в этом случае?Переписать URL-адрес на Glassfish с PHP Quercus

Вот что .htaccess Question2Answer имеет внутри:

DirectoryIndex index.php 
RewriteEngine On 
#RewriteBase /your-sub-directory 
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ 
RewriteRule . %1/%2 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php?qa-rewrite=$0&%{QUERY_STRING} [L] 

Есть ли у вас какие-либо решения для этого?

+0

Смешно, кто-то опубликовал почти [тот же вопрос] (http://stackoverflow.com/questions/3216973/urlrewritefilter-with-glassfish/) через несколько часов после вашего. Я думаю, что я собираюсь обозначить другой как дубликат. –

ответ

3

Используйте Tuckey's UrlRewriteFilter (что вдохновило mod_rewrite и предлагает аналогичные функции) для реализации правил перезаписи. В принципе, вы должны будете:

  • Получить войну Quercus и распаковать его
  • Скачать the filter и распаковать его в Quercus (это поставит фильтр банку внутри WEB-INF/lib и urlrewrite.xml под WEB-INF).
  • Заявить фильтр в web.xml (см. install instructions).
  • «Порт» ваши правила перезаписи в файл urlrewrite.xml.
  • Переупаковка и развертывание войны (или развертывание в виде взорванного архива).

Публикация Drupal on Glassfish with clean urls using Url Rewrite Filter обсуждает этот подход. Адаптируйте его к вашим потребностям.