.htaccess - redireccionar - Cómo escribir la regla de reescritura de htaccess para la URL amistosa de SEO
url amigables htaccess (2)
- Solo soy nuevo en
.htaccess
. - Necesito algunas reglas de reescritura para las
URLs
. - Yo hice una búsqueda de Google y apliqué pero no cambio en la URL.
Yo quiero:
demo.example.com/section.php?id=1
Cambiado a:
demo.example.com/section/sample-section
Lo intenté
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^section/(/d+)*$ ./section.php?id=$1
pero no hay diferencia
Gracias.
Apreciaré su ayuda.
Primero, asegúrese de que mod_rewrite esté habilitado y que los archivos htaccess estén permitidos en su configuración de Apache.
Luego, ponga este código en su htaccess (que debe estar en la carpeta raíz)
Options -MultiViews
RewriteEngine On
# redirect "/section.php?id=xxx" to "/section/xxx"
RewriteCond %{THE_REQUEST} /s/section/.php/?id=([0-9]+)/s [NC]
RewriteRule ^ /section/%1? [R=301,L]
# internally rewrite "/section/xxx" to "/section.php?id=xxx"
RewriteRule ^section/([0-9]+)$ /section.php?id=$1 [L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^section/([^/]+)$ /section.php?id=$1 [L]
Esto convertirá example.com/section.php?id=X
en example.com/section/X
Sugiero almacenar el URI en una base de datos y luego usar section.php? Uri =
Por ejemplo:
example.com/section.php?uri=super-awesome
se convertiría en:
example.com/section/super-awesome