Como ejecutar 2 reglas de htaccess

  • Autor Autor ProHatake
  • Fecha de inicio Fecha de inicio
P

ProHatake

Alfa
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos.
Veran...

En mi htaccess tengo 2 reglas
PHP:
RewriteRule ^([a-z]{2})/?$ index.php?lang=$1
// y
ErrorDocument 404 /404.php


A la web entro así
miweb.com/es/
miweb.com/en/
miweb.com/fr/

y dependiendo el idioma, extraigo la configuracion desde la BD
y si el idioma no existe.
EJEMPLO
miweb.com/jp/
Pues doy un error 404 asi:
PHP:
header("HTTP/1.0 404 Not Found");

Entonces asigno un error 404 en la cabecera PERO NUNCA REDIRECCIONO.
Así que entonces no se muestra mi plantilla 404.php segun especifique en mi htaccess
Ya que se supone que el htaccess ya se ejecuto.

Entonces quiero que se muestre esta plantilla, o mejor dicho, quiero que se cumpla la regla errorDocument del htaccess a pesar de que ya se halla ejecutado el htaccess anteriormente. SIN NECESIDAD de redirecciones. (Pues con redirecciones, ya se como lograrlo).

Alguien sabe como lograr esto?

Gracias de antemano!
 
[MENTION=191395]proTests[/MENTION] creo que tienes que hacer un include() y mostrar la plantilla!!
 
[MENTION=191395]proTests[/MENTION] creo que tienes que hacer un include() y mostrar la plantilla!!

Eso también lo he hecho. Pero quiero usar el menor contenido de códigos.
Espero alguna solución con htaccess. Y si no. Pues tal como dices, asignar el header 404 e incluir la plantilla 404.php
o hacer una redirección a /404/ (menos recomendable).

Gracias de antemano [MENTION=1597]YeltsinGraphs[/MENTION]
 
[MENTION=191395]proTests[/MENTION] Creo que el error 404 no se mostrara al menos que cada idioma sea una carpeta, ya que le estas diciendo
que todo lo que este despues del .com/ sea el index.php el cual si existe!

creo que puedes hacer esto!

PHP:
ErrorDocument 404/404.php
 
RewriteRule ^es/?$ index.php?lang=$1
RewriteRule ^en/?$ index.php?lang=$1
RewriteRule ^fr/?$ index.php?lang=$1

Pero espera tros usuarios a ver que dicen! :encouragement:
 
Atrás
Arriba