Wordpress .htaccess quebrando subdiretórios

1

Recentemente, decidimos usar o WordPress como nossa primeira página em vez do fórum, então mudamos as coisas e instalamos o WordPress no diretório raiz do site, mas infelizmente o fórum ( /forum ) (que também conta com o próprio .htaccess rules) agora está quebrado por causa do .htaccess (no diretório raiz do site)

A estrutura do website é:

  • https://www.example.com/ (WordPress)
  • https://www.example.com/forum/ (fórum do IPB)

Mas, como você pode ver se tentar acessar o fórum, ele volta para a página "Não encontrado" no WordPress.

O arquivo .htaccess que usamos na raiz é:

<IfModule php7_module>
  php_flag display_errors On
  php_value max_execution_time 90
  php_value max_input_time -1
  php_value max_input_vars 1000
  php_value memory_limit -1
  php_value post_max_size 64M
  php_value session.gc_maxlifetime 1440
  php_value session.save_path "/var/cpanel/php/sessions/ea-php70"
  php_value upload_max_filesize 2G
  php_flag zlib.output_compression On
</IfModule>

<IfModule mime_module>
   AddType application/x-httpd-ea-php71___lsphp .php .php7 .phtml
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>
# END WordPress

e o arquivo .htaccess que usamos em /forum é:

<IfModule mod_rewrite.c>
  Options -MultiViews
  RewriteEngine On
  RewriteBase /forum
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule \.(js|css|jpeg|jpg|gif|png|ico|map)(\?|$) /404error.php [L,NC]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>

Como podemos parar as regras de reescrita no .htaccess no diretório raiz que afeta os subdiretórios?

A ajuda seria muito apreciada, pois não conseguimos que funcione, tentamos tudo.

    
por SM9 11.01.2018 / 16:52

1 resposta

0

Como parte deste "movimento das coisas", você presumivelmente moveu o fórum da raiz do documento para o subdiretório /forum ?

How can we stop the rewrite rules in the .htaccess in the root directory affecting sub directories?

Eles não são. Pelo menos não são as diretivas mod_rewrite no diretório raiz que é o problema. Por padrão, as diretivas mod_rewrite no subdiretório substituem completamente as diretivas mod_rewrite no diretório pai (root). O "problema" são as diretivas mod_rewrite no arquivo /forum/.htaccess .

No seu arquivo /forum/.htaccess , você precisa remover o prefixo barra na RewriteRule substituição . Por exemplo, o seguinte:

RewriteRule . /index.php [L]

Deverá ler:

RewriteRule . index.php [L]

E o mesmo para a substituição /404error.php .

Caso contrário, a diretiva RewriteBase /forum será ignorada e você irá reescrever para a raiz do sistema de arquivos, isto é. de volta para sua nova instalação do WordPress - que parece ser o que você está vendo.

    
por 11.01.2018 / 18:01