Como executar 2 regras de htaccess

  • Autor Autor ProHatake
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
P

ProHatake

Alfa
Programador
Usuário com poucas negociações! Use sempre o saldo do 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!
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
[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:
 
Voltar
Topo