Al intentar crear reglas de reescritura de URL en mi servidor, me encontré con algunos problemas, así que quería probar si funcionaba con un caso más simple: la URL example.com/test debe reescribirse como example.com/index.php , una página real que existe en mi sitio.
Aquí está el contenido completo de mi archivo .htaccess :
AcceptPathInfo Off SetEnv PHP_VER 5_3 SetEnv REGISTER_GLOBALS 0 RewriteEngine On RewriteRule test.php index.php Y el resultado cuando ingreso la URL example.com/test.php :
404 No encontrado: la URL solicitada no se encontró en este servidor.
Hice el documento .htaccess un poco más simple para esta prueba de lo que suele ser. Por lo general, también tengo las siguientes reglas en el documento:
# Redirect from non-www to www RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # Redirect from HTTP to HTTPS RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Estas reglas siempre han funcionado como deberían. ¿Hay algún problema con mi regla de reescritura de prueba? Si no es así, ¿por qué funcionan las reglas de reescritura para la redirección www y HTTPS?
Esta es la estructura de los archivos en mi servidor:
| .htaccess | www | -- index.phpCon las muestras mostradas, intente seguir el archivo de reglas de htaccess. Coloque sus reglas de implementación de https y www en la parte superior de su archivo.
Asegúrese de que sus archivos htaccess e index.php estén en el directorio raíz. Asegúrese de borrar la memoria caché de su navegador antes de probar sus URL.
RewriteEngine On # Redirect from HTTP to HTTPS RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^test/?$ index.php [NC,L] Cambie la estructura de htaccess de la siguiente manera con las muestras que se muestran, aparte de algunos cambios menores en htaccess (como expresiones regulares fijas para la redirección, indicador NE usado en la redirección, Reglas combinadas para redireccionamientos de https y www, etc. para mejorar su archivo de reglas)
| .htaccess | www | -- index.php | -- .htaccess (new)