Pregunta

En el archivo httpd.conf tengo AllowOverride FileInfo. En el archivo .htaccess en el nivel superior de mi servidor web con todos los demás archivos, tengo esto:

RewriteEngine On
RewriteRule ^downloads/?$ index.php?page=downloads [L,NC]

Pero no funciona. mywebsite / downloads y mywebsite / downloads / siempre dan un 404 no encontrado. ¿Alguna idea de por qué? Gracias. (mywebsite / index.php? page = downloads funciona ).

Y estoy reiniciando apache cada vez que lo cambio.

Y cuando pongo el código anterior en httpd.conf, el sitio web ni siquiera se carga, simplemente en blanco, girando la rueda de safari para siempre.

Está bien si solo hago RewriteEngine On, pero si hago algo más (RewriteBase, RewriteRule), el navegador web pasa años intentando cargar y finalmente dando este error:

  

Safari no puede & # 8217; t abrir la página & # 8220; http: // mk12. gotdns.com/ & # 8221; porque el servidor donde se encuentra esta página no responde & # 8217; t responde.

¿Alguien tiene alguna idea de lo que está mal?

EDITAR: puedo hacer, por ejemplo, archivos css prohibidos con reescritura, y funciona, pero cualquier regla que vaya de descargas a index.php? page = downloads hace que el servidor no responda (ver arriba), no importa en qué página, el sitio web no se cargará en absoluto. ¿Alguna idea ...?

¿Fue útil?

Solución 4

¡Funcionó! Estaba poniendo el código en el lugar equivocado. Estaba en httpd.conf, pero al final. Muévalo a & Lt; Directorio & Gt; y es bueno ¡Gracias por tu ayuda!

EDITAR: Además, descubrí que no funcionará si las banderas son así: [L, NC]. Tiene que ser [L,NC] (sin espacios).

Entonces, los dos problemas no estaban dentro de < Directory " / Library / WebServer / Documents " > ;, y había espacios entre las banderas. Esperemos que esto ayude a alguien más en el futuro.

Otros consejos

La mejor manera de depurar las reglas de reescritura es habilitar el registro de reescritura para que pueda ver qué está sucediendo mal.

¿Te has cansado de agregar una barra diagonal delante de " descargar " como abajo

RewriteRule ^/downloads/?$ index.php?page=downloads

EDITAR: Pruebe el siguiente código:

RewriteEngine On
RewriteBase /
RewriteRule ^downloads/?$ /index.php?page=downloads

Intentaría eliminar la barra diagonal final y el signo de interrogación después de las descargas, y la barra diagonal principal antes de index.php.

RewriteEngine On
RewriteBase /
RewriteRule ^downloads$ index.php?page=downloads.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top