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]