Problema URL amigables htacces

  • Autor Autor seogirona
  • Fecha de inicio Fecha de inicio
S

seogirona

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, tengo un problema con la definición de las urls en htacces para recojer los parametros por get.

Archivo .htacces actual:
Insertar CODE, HTML o PHP:
# BEGIN URLS AMIGABLES
<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteBase /   
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
# Defino idioma
RewriteRule ^(.*)/$ index.php?idioma=$1
# Defino idioma + slug
RewriteRule ^(.*)/(.*)/$ pagina.php?idioma=$1&slug=$2
# Defino idioma + blog
RewriteRule ^(.*)/blog/$ blog.php?idioma=$1&slug=$2
# Defino idioma + blog + paginación  
RewriteRule ^(.*)/blog/(.*)/$ blog.php?idioma=$1&slug=$2&paginacion=$3
# Defino idioma + entrada + slug
RewriteRule ^(.*)/entrada/(.*)/$ blog-post.php?idioma=$1&slug=$2&blog_slug=$3
RewriteRule ^$ http://server.seogirona.es/es/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^ca [NC]
RewriteRule ^$ http://server.seogirona.es/ca/ [L,R=301]
</IfModule>
# END  URLS AMIGABLES

Tengo problemas basicamente en que no recojo la variable de idioma en blog ni entradas y no entiendo el motivo o cual puede ser el error. Alguien sabe que puede suceder?
 
Que tal seogirona una pregunta, cualquier url que ingreses entra la primera condición?

RewriteRule ^(.*)/$ index.php?idioma=$1

Saludos.
 
Que tal seogirona una pregunta, cualquier url que ingreses entra la primera condición?

RewriteRule ^(.*)/$ index.php?idioma=$1

Saludos.

Si ya lo sopuse, incluso canviando
Insertar CODE, HTML o PHP:
RewriteRule ^(.*)/(.*)/$ pagina.php?idioma2=$1&slug2=$2

Me sigue sin funcionar, no faltara añadir alguna otra función para que siga aplicando las siguientes?
 
Creo que el detalle puede esta en las expresiones regulares, te paso una herramienta que te puede ayudar expresiones regulares
 
Hola seogirona
No me aclaro del todo de lo que quieres, puedes poner algún ejemplo de Url que te este funcionando y lo que quieres que funcione.
 
Intenta en este orden

Insertar CODE, HTML o PHP:
# BEGIN URLS AMIGABLES
<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteBase /   
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  

# Defino idioma + entrada + slug
RewriteRule ^(.*)/entrada/(.*)/$ blog-post.php?idioma=$1&slug=$2&blog_slug=$3

# Defino idioma + blog + paginación  
RewriteRule ^(.*)/blog/(.*)/$ blog.php?idioma=$1&slug=$2&paginacion=$3

# Defino idioma + blog
RewriteRule ^(.*)/blog/$ blog.php?idioma=$1&slug=$2

# Defino idioma + slug
RewriteRule ^(.*)/(.*)/$ pagina.php?idioma=$1&slug=$2

# Defino idioma
RewriteRule ^(.*)/$ index.php?idioma=$1

RewriteRule ^$ http://server.seogirona.es/es/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^ca [NC]
RewriteRule ^$ http://server.seogirona.es/ca/ [L,R=301]
</IfModule>
# END  URLS AMIGABLES
 
# Defino idioma
RewriteRule ^(.*)/$ index.php?idioma=$1

Esta linea se está cargando las demás porque le estás diciendo que cualquier cosa que aparezca en la primera variable que puede ser todo depues del .com/loquesea es lo que pasa a idioma, asi que esa no te vale
 
te falta el [QSA]

Enviado desde mi HM NOTE 1S mediante Tapatalk