rewriterule rewritecond redireccionar htaccess enmascarar ejemplos ejemplo descargar con completo carpeta php regex .htaccess mod-rewrite url-rewriting

php - rewritecond - ¿Qué RewriteRule debo agregar a mis reglas existentes para solucionar esto?



rewritecond htaccess (1)

Mi página tiene 2 idiomas (en el futuro cercano será 3). Tiene esta estructura en las páginas interiores:

domain.com/en/page (where page is page.php in main root)

y se puede acceder a la página principal a través de domain.com o domain.com/en/

En mi servidor tengo todos los archivos en la raíz principal, y una carpeta llamada artículos, donde adentro hay otros archivos.

Cuando accedo al índice de índice de artículos de carpeta como domain.com/en/articles está bien.

pero cuando lo tengo acceso como domain.com/articles me lleva a la página 404.

¿Cómo puedo abrir esa carpeta sin /en/ o /el/ delante de ella?

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(en|el)/articles$ articles/index.php?lang=$1 [NC] RewriteRule ^(en|el)(/)?$ index.php?lang=$1 [NC,L] RewriteRule ^(en|el)/(.*)?$ $2.php?lang=$1 [NC,L] RewriteRule ^([^/.]+)$ $1.php [NC,L]

Además, como soy nuevo en htaccess, consulte mi código general y dígame si hay alguna mejora.


Puedes tener reglas como esta:

RewriteRule ^articles/?$ articles/index.php [NC,L] RewriteRule ^(en|el)/articles$ articles/index.php?lang=$1 [NC,L,QSA] RewriteRule ^(en|el)/?$ index.php?lang=$1 [NC,L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(en|el)/(.+)$ $2.php?lang=$1 [NC,L,QSA]