• Inicio

  • This is the forum index page
Otras consultas sobre otros scripts que no estan en los foros de acontinuación

Moderador: Antonio Torres

 #6050  por guille_casa
 Mar Jun 27, 2017 12:45 pm
Uno de los técnicos de soporte me ha dicho que ponga mi consulta por aquí. Soy consciente de que no es el sitio adecuado ya que es un problema con SMF (SimpeMachines forum) pero no existe ninguna sección para él. Si hay otro sitio más adecuado para este tema por favor moverlo donde mejor encaje. De todos modos mi consulta no es específica de foros SMF ya que se trata más de un problema que puede ser general a todas estas plataformas.

Dicho esto ahí va mi duda/problema:

Hace ya algún tiempo por otro motivo ya abrí un ticket (#711664) por problemas con el .htaccess. Al final no me hacía las redirecciones que quería y lo dejé por imposible. Ahora me ha surgido otra necesidad, se trata de hacer que las páginas del modo http://www.forofosdelrunning.com/index. ... a_pasos_KM se reescriban de este otro modo http://www.forofosdelrunning.com/calculadora_pasos_KM. Para ello he usado un script de SMF que modifica el .htaccess automáticamente y que a todo el mundo le funciona, de hecho el archivo ha sido cambiado pero las urls siguen teniendo el formato http://www.forofosdelrunning.com/index. ... a_pasos_KM.
Ya han sido muchos intentos con problemáticas varias y no soy capaz de que funcione. No sale ningún error, simplemente ignora las entradas que le pongo. Las entradas que dicho script añade al .htaccess son las siguientes:
RewriteEngine on
RewriteBase /
RewriteRule ^pages/(.*).html index.php?page=$1 [L]

No sé por qué me da que falta algo por configurar en el servidor.

Espero que alguien pueda ayudarme

Muchas gracias por adelantado.
 #6062  por Juan82
 Mié Jun 28, 2017 12:10 pm
Estimado cliente:

El htacces que tenia configurado estaba a medias ya que redireccionaba la url amigable a la antigua pero no la antigua a la url amigable.

Hemos hecho varias pruebas y le hemos configurado el htacces de la siguiente forma:

Options -MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} \s/index\.php\?page=(.*)\s [NC]
RewriteRule ^ /page/%1? [R=301,L]
RewriteRule ^page/(.*)$ /index.php?page=$1 [L]


Un Saludo
 #6068  por guille_casa
 Mié Jun 28, 2017 3:30 pm
Muchas gracias por la ayuda.
En un principio me encontré con que funcionaba pero los usuarios no podían loguearse.
Entré en el .htaccess y tenía todo esto:

#RewriteEngine on
#RewriteBase /
#RewriteRule ^pages/(.*) index.php?pages=$1 [L]
#RewriteRule ^page/(.*) index.php?pages=$1 [L]


Options -MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} \s/index\.php\?action=(.*)\s [NC]
RewriteRule ^ /action/%1? [R=301,L]
RewriteRule ^action/(.*)$ /index.php?action=$1 [L]


RewriteCond %{THE_REQUEST} \s/index\.php\?page=(.*)\s [NC]
RewriteRule ^ /page/%1? [R=301,L]
RewriteRule ^page/(.*)$ /index.php?page=$1 [L]


Imaginé que fue un error de una de vuestras pruebas y me centré en la contestación poniendo solo estas líneas:

Options -MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} \s/index\.php\?page=(.*)\s [NC]
RewriteRule ^ /page/%1? [R=301,L]
RewriteRule ^page/(.*)$ /index.php?page=$1 [L]



Ahora funciona ya perfectamente y los usuarios se loguean sin problemas.

Para rizar el rizo, estoy intentando quitar la carpeta /page para que solo quede así forofosdelrunning.com/calculadora_pasos_KM
como comenté en un principio, pero el .htaccess puede conmigo y cualquier modificación que hago o no encuentra la página o se queda con /page/... Podéis por favor echarme una mano de nuevo?

Muchas gracias.
 #6072  por Juan82
 Jue Jun 29, 2017 9:29 am
Estimado usuario:

Su web dispone de varios formatos de url unas son index.php?page= xxx y otras son index.php?action=xxx por eso se le configuró para que redireccionaran las dos url. Sino necesita redireccionar el action puede eliminarla o comentarla. Las primeras líneas son el código que usted puso que lo hemos dejado comentado con #

La etiqueta page es necesaria para identificar la url que desea redireccionar, si la quita cualquier url de su web tratará de redireccionarla a index.php?page=xxx, con la etiqueta page descriminamos el resto de url para que solo redireccione aquellas que cumplen con esa condición.

También dispone de módulo que puede ayudarle a realizar dicha tarea, le paso link http://custom.simplemachines.org/mods/index.php?mod=636

El problema de las redirecciones es que son difíciles de depurar e identificar los errores algo complicado y puede que funciones para algunas url y para otras no pero no tiene que ver con el servidor. Las reglas del htaccess o se escriben correctamente o simplemente no se ejecutan o dan un resultado inesperado.

Un Saludo.