mod_rewrite habilitar example apache .htaccess mod-rewrite url-rewriting url-redirection

apache - habilitar - mod_rewrite php



Reescritura de URL sin cambiar la URL.htaccess (2)

Puede usar este código en su archivo DOCUMENT_ROOT/.htaccess :

RewriteEngine On RewriteBase / # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} /s/+fr/transporter/transporterPublicProfile/.php/?profil=([^/s&]+) [NC] RewriteRule ^ fr/profil-des-transporteurs/%1? [R=302,L,NE] # internal forward from pretty URL to actual one RewriteRule ^fr/profil-des-transporteurs/([^/.]+)/?$ fr/transporter/transporterPublicProfile.php?profile=$1 [L,QSA,NC]

Luego, para resolver los enlaces relativos utilizados para las rutas images / js / css, puede agregar esto en la sección <head> del HTML de su página:

<base href="/fr/transporter/" />

Quiero reescribir mi URL

De:

https://example.com/fr/transporter/transporterPublicProfile.php?profil=1927

A:

https://example.com/fr/profil-des-transporteurs/1927

Cuando un usuario visita esta URL:

https://example.com/fr/transporter/transporterPublicProfile.php?profil=1927

Debería aparecer así:

https://example.com/fr/profil-des-transporteurs/1927

Y si un usuario visita esta URL:

https://example.com/fr/profil-des-transporteurs/1927

Debería permanecer tal como está.

Lo que he intentado hasta ahora es:

RewriteRule ^profil-des-transporteurs/(.*)$ /fr/transporter/profil.php?oid=$1 [L]

Cambia la URL como quiero, pero el problema es que los enlaces en esa página no funcionan correctamente. La página usa rutas relativas para las imágenes, etc. con una URL nueva, es decir:

https://example.com/fr/profil-des-transporteurs/


Puedes usar una etiqueta base en tu html, por lo que todas las rutas serán relativas a ella

<base href="https://example.com/fr/transporter/">