Dezactivare reguli de rescriere WordPress în htaccess pentru folder și conținutul său
Am o altă aplicație PHP într-un folder numit app
în interiorul instalării WordPress și trebuie să dezactivez toate regulile de rescriere WordPress pentru acel folder și conținutul său. Astfel încât atunci când accesez www.domain.com/app
să obțin pagina aplicației mele, în loc de pagina standard WordPress 404.
Știu că acestea sunt reguli de rescriere Apache de bază și am căutat soluții, am încercat câteva variante dar nu au funcționat bine.
Aproape am uitat, trebuie să fac asta doar prin editarea fișierului htaccess WordPress. Iar aplicația are propriul său fișier htaccess.
Mulțumesc.
EDIT: conținut htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
EDIT: htaccess-ul Aplicației
DirectoryIndex index.php
<FilesMatch "\.(php|inc)$">
Order allow,deny
deny from all
</FilesMatch>
<FilesMatch "(index.php|download.php)$">
Order allow,deny
allow from all
</FilesMatch>
Aceste reguli nu fac mare lucru, ele neagă accesul la toate fișierele de tip PHP
și INC
, cu excepția index.php
și download.php
. Acestea sunt cele pe care utilizatorul trebuie să le acceseze, restul fiind clase utilizate intern de PHP
.
EDIT 3: Rezolvare:
După cum s-a dovedit, nu era nimic în neregulă cu fișierul htaccess
WordPress sau cu aplicația. După activarea raportării erorilor pe serverul de hosting, PHP a raportat un fișier corupt, iar odată înlocuit, totul a început să funcționeze corect. Mulțumesc lui Wietse Venema pentru sugestie.

Fișierul implicit .htaccess va suporta deja comportamentul dorit;
# 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
Magia se află în liniile care încep cu RewriteCond. Acestea instruiesc Apache să aplice regula RewriteRule . /index.php [L]
(ceea ce înseamnă "orice URL va merge către index.php"), doar atunci când URL-ul nu este un fișier existent !-f
sau un director existent !-d
.
Deci, acest lucru ar trebui să funcționeze implicit. Regulile de rescriere Wordpress nu se aplică atunci când încercați să accesați un fișier deja existent.
