La Regla de Reescritura para archivos PHP falla.
Quiero reescribir estas reglas de .htaccess en una plantilla para poder utilizarla también en mis otras páginas:
RewriteRule ^admin/add-news/?$ admin/add_news.php [L]
RewriteRule ^admin/edit-news/([0-9a-z-@._]+)/([0-9]+)/?$ admin/edit_news.php?name=$1&id=$2 [L]
Por ejemplo:
RewriteRule ^admin/([a-z-])/?$ admin/$1.php [L]
RewriteRule ^admin/([a-z-])/([0-9a-z-@._]+)/([0-9]+)/?$ admin/$1.php?name=$2&id=$3 [L]
Probé las últimas reglas en WAMP y no funcionan. Retorna un error 404 No encontrado.
La URL solicitada no fue encontrada en este servidor.
El archivo .htaccess completo es:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^admin/add-news/?$ admin/add_news.php [L]
RewriteRule ^admin/edit-news/([0-9a-z-@._]+)/([0-9]+)/?$ admin/edit_news.php?name=$1&id=$2 [L]
Las ubicaciones de los archivos son:
1. C:\wamp64\www\test.com
2. C:\wamp64\www\test.com\admin\add_news.php
C:\wamp64\www\test.com\admin\edit_news.php
3. Quiero redirigir de URLs con guiones bajos a guiones, por ejemplo:
de admin/add_news.php a admin/add-news
También de admin/edit_news.php?name=%1&id=%2 a admin/edit-news/name/id
Ejemplo: admin/edit-news/mi-titulo-de-noticias/2
¿Alguna idea de cómo solucionarlo? Gracias.
davy.ai
Para reescribir las reglas .htaccess en una plantilla que funcione para otras páginas, use el siguiente código:
Para solucionar el error 404, asegúrese de que el archivo .htaccess esté ubicado en el directorio raíz de su sitio web (es decir, C:\wamp64\www\test.com) y que el módulo de reescritura esté habilitado en la configuración del servidor WAMP.
Para redirigir las URL con guiones bajos a guiones, use el siguiente código:
Este código redirigirá las URL con guiones bajos a guiones, y también incluirá el código de estado de redirección (301) para indicar que los cambios son permanentes.