WordPress como subdomínio em proxy reverso no apache

Instalar o WordPress com proxy reverso no apache é algo trivial, como qualquer outra aplicação, agora, se o site WordPress for chamado por um subdomínio e você necessitar utilizar Links Permantes com mod_rewrite, ai pode complicar um pouco.

Howto: Como habilitar Links Permanentes (permalinks mod_rewrite) no WordPress como Proxy Reverso do Apache

1. Chamada do subdominio:
[php]

ServerName sub.host.com.br
ServerAlias www.sub.host.com.br

ProxyPass / http://192.168.0.10/sub/
ProxyPassReverse / http://192.168.0.10/sub/

CustomLog /var/log/httpd/sub-access.log combined
ErrorLog /var/log/httpd/sub-error.log

[/php]

2. Habilite Links Permanentes no WordPress com a estrutura desejada (Configurações – Links Permanentes)

É muito utilizado esta estrutura: http://sub.host.com.br/%postname%/ para aparecer somente o nome do post após a URL, ou seja, ativando links permanentes não será mais exibido algo como ?page_id=10 para o identificar o post ou page.

Caso não execute os passos seguintes, ao acessar um post ou page qualquer, será exibido este erro:
Not Found
The requested URL /index.php was not found on this server.

3. O pulo do gato é utilizar um plugin da Universidade de Stanford:

Salve este arquivo na pasta wp-content/plugins com o nome de su_reverse_proxy.php e ative-o na interface de administração do WordPress.

4. Na raiz da instalação do seu WordPress, edite o arquivo .htaccess, este passo é muito importante.

# vim .htaccess

Você vai alterar somente a linha do RewriteRule, que deve estar assim:

[php] RewriteRule . /index.php [L] [/php]

E deverá ficar assim:

[php] RewriteRule . /sub/index.php [L] [/php]

Claro, se estiver usando nginx, existe soluções mais elegantes:
https://wordpress.org/plugins/nginx-compatibility/
https://wordpress.org/support/topic/permalink-problem-on-nginx

This entry was posted in HowTo - Como fazer and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *