.htaccess - htaccess - Problema al utilizar la reescritura de URL(las rutas relativas no funcionan)
htaccess con php (2)
Estoy usando un archivo .htccess para reescribir mis URL. Estoy usando las siguientes reglas en mis archivos .htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^product/([0-9]+)/([A-Za-z0-9+]+)$ /product.php?productid=$1&prodname=$2
La reescritura funcionó bien.
Pero cuando intento acceder a cualquier otra página a través de una ruta relativa que es en todos los casos, la URL no se redirecciona correctamente.
Como en el ejemplo de abajo
<form action "something.php" method="post">
<input type="text" name="1" />
<input type="submit" value="submit" />
</form>
Cuando hago clic en enviar, la página que se carga es http://mydomain/product/1/something/something.php
que no existe y, por lo tanto, arroja un error 404
Traté de usar la etiqueta base en la cabeza, pero esto crea un problema mientras uso anclas de página y ventanas modales. Se redirecciona a la página de índice.
Por favor, avíseme si se requieren más detalles.
Soy bastante nuevo en esto. Entonces, ¿podría alguien ayudarme con esto?
Gracias de antemano, Kartik
La versión corta y fácil de resolver esto es hacer una ruta absoluta de sus URL - /something.php en la acción del formulario, no solo ''something.php''.
Este es un problema de resolución de URL. Ver la información de URL mod_rewrite requerida para más detalles.
Puede usar rutas URL absolutas o URL absolutas:
<form action="/something.php" method="post">
<form action="http://example.com/something.php" method="post">
O puede cambiar la URL base (ver elemento HTML BASE
) para que cada URL relativa se resuelva de esa URL y no la URL actual:
<base href="/">
<base href="http://example.com/">