2009-06-28 12 views
8

Reescribo mis direcciones URL para que sean fáciles de usar. Por ejemplo, tengo una página llamada user.php que reescribo a/usuario. Pero un usuario todavía puede usar user.php. ¿Puedo redireccionar a un 404 si solicitan una página con extensión .php?error de mod_rewrite 404 if .php

Options -MultiViews +FollowSymlinks -Indexes 
RewriteEngine on 


RewriteRule ^user/([0-9]+)$ user.php?id=$1 [L,QSA] 

Gracias.

Respuesta

7
RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/ 
RewriteRule ^.*$ - [R=404,L] 
+0

Bastante seguro R = 404 no es uno de los códigos de estado que acepta la bandera ... –

+0

que funciona pero aún puedo acceder a la página si agrego un signo de interrogación después de user.php ?. tal vez puedo hacer algo al respecto? –

+0

es suficiente. no puedo discutir si funciona. –

2

Esto debe hacer el truco, creo:

RewriteRule (.*)\.php$ path/to/your/404file [L] 
+0

, así que ¿necesito agregar una regla para todas mis páginas? –

2

Un 301 redirect pueden ser más apropiados para esta tarea.