Я использовал Tuckey UrlRewriteFilter и удалил ROOT/WEB-INF/context.xml
и ROOT/WEB-INF/rewrite.config
.Теперь Tomcat отлично обслуживает WordPress, и все работает отлично.
Вот шаги по настройке UrlRewriteFilter (взяты с официального сайта) для WordPress на Tomcat, что может быть кому-нибудь полезно:
Загрузка UrlRewriteFilter.jar в ROOT/WEB-INF/lib/
и следуйте всем инструкциям / шагам на своем официальном сайте.Если вы хотите использовать синтаксис .htaccess для определения правил перезаписи, вы можете установить для параметра modRewriteConf
значение true в ROOT/WEB-INF/web.xml
, как показано ниже:
<!-- URLRewriteFilter -->
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>modRewriteConf</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
Затем создайте файл .htaccess
в ROOT/WEB-INF/
каталог (можно разместить в другом месте, но затем вы должны указать путь через параметр в web.xml
).
Примечание : мне пришлось закомментировать RewriteRule, чтобы сделать егоработать успешно
RewriteEngine On
RewriteBase /
# RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]