Pregunta

Después de subir mi proyecto Kohana a mi servidor GoDaddy, me di cuenta de mi archivo .htaccess norma no estaba funcionando lo suficiente como para proporcionar los URLs limpias. Después de una cierta dirección, que terminó con la siguiente regla:

RewriteRule .* index.php?kohana_uri=$0 [PT,L]

Esto hizo que mis buenos-URL a trabajar de nuevo, pero hoy me entero que se puede romper mi interno del motor de búsqueda, que también utiliza variables de estilo GET-:

/search?terms=php

Los valores no se están encontrando por los scripts. Ellos están en mi desarrollo-servidor que no tiene la RewriteRule modificado, pero no en el servidor GoDaddy, que hace uso de la RewriteRule.

Estoy en lo cierto al suponer que la regla está rompiendo ninguna capacidad para leer guiones de $ _GET, y si es así, ¿cómo puedo solucionar esto?

¿Fue útil?

Solución

Tal vez usando QSA en sus RewriteRules, como esto:

RewriteRule .* index.php?kohana_uri=$0 [PT,QSA,L]

Véase el manual de mod_rewrite (donde se cita):

  

'qsappend | QSA' (cadena de consulta de datos anexados)

     

Esta bandera hace que el motor de reescritura para anexar una parte cadena de consulta   de la cadena de sustitución a la   cadena existente, en lugar de sustituir   eso. Utilice esta opción cuando desee agregar más   los datos de la cadena de consulta a través de una reescritura   regla.

podría ayudar (no probado en su caso particular, pero recuerdo haber usado esto hace algún tiempo, por algún tipo de problema como éste)

Otros consejos

Creo que se podría añadir: RewriteCond $1 !^(search), o una variación de tales

.

Si desea utilizar una práctica habitual y sin cadena de consulta que necesita sólo tienes que seguir estos pasos y funcionará como localhost Y no es necesario cambiar las reglas de reescritura.

Ir a su administrador de archivos cuenta de GoDaddy -> directorio WebRoot -> Crear php5.ini si no existe y el lugar siguiente línea: cgi.fix_pathinfo = 1

Ahora tiene que reiniciar el proceso de Web:

1.) Ingrese a su Account Manager. 2.) Haga clic en Web Hosting. 3.) Al lado de la cuenta de alojamiento que desea utilizar, haga clic en Iniciar. 4.) En la sección Estadísticas y monitores, haga clic en los procesos del sistema. 5.) En la lista de la izquierda, haga clic en el proceso que desea ver o haga clic en todos los procesos para ver todos los procesos a la vez. 6.) Para finalizar un proceso, haga clic en el botón de extremo correspondiente de la barra de herramientas.

Ahora se puede utilizar como URI_PROTOCOL automático.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top