Buenas tardes.
Ante todo y como siempre mil gracias por tomaros la molestia de leer este post y ayudar si es posible.
Estoy haciendo un sitio web que recibe las visitas a tráves de URLs cortas tipo:
Código:
http://host.com/oP3vC
Para redirigir a las URL largas originales almacenadas en la base de datos, tengo activado RewriteEngine y RewriteRule en el htaccess.
El problema que tengo es que al redirigir, da igual que se ponga "dBa1d", "DbA1D","DBA1d",etc. Siempre lleva a página "decode.php" y no quiero que suceda esto, es decir, si tengo la URL "uiP3a" y se pone esa URL, que lleve a la página, pero si se escribe "UIp3a" que no lleve a la página y muestre el error 404.
Actualmente, incluso cuando el registro de la URL no está en la base de datos, siempre me redirige a la página que tengo en el RewriteRule en vez de mostrarme la página 404 como que no existe, y eso me pasa con todos los errores, no me muestra ninguno, y eso que tengo declarados los errores en el htaccess.
El código que tengo es el siguiente:
Código:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) decode.php?surl=$1 [L,QSA]
ErrorDocument 401 /errordocs/error-401.php
ErrorDocument 403 /errordocs/error-403.php
ErrorDocument 404 /errordocs/error-404.php
ErrorDocument 500 /errordocs/error-500.php
ErrorDocument 502 /errordocs/error-502.php
ErrorDocument 503 /errordocs/error-503.php
ErrorDocument 504 /errordocs/error-504.php
ErrorDocument 505 /errordocs/error-505.php
He buscado tutoriales, por el foro, y trasteado con el archivo cambiando opciones pero ando bastante perdido y necesito solucionarlo. Hay alguna manera de solventar esto?
Gracias por cualquier ayuda.
Un saludo.