我想重写我的网址
发件人:
https://example.com/fr/transporter/transporterPublicProfile.php?profil=1927
要
https://example.com/fr/profil-des-transporteurs/1927
当用户访问此网址时
https://example.com/fr/transporter/transporterPublicProfile.php?profil=1927
它应该如下所示:
https://example.com/fr/profil-des-transporteurs/1927
如果用户访问此网址:
https://example.com/fr/profil-des-transporteurs/1927
它应该保持不变。
到目前为止我尝试的是:
RewriteRule ^profil-des-transporteurs/(.*)$ /fr/transporter/profil.php?oid=$1 [L]
它会根据需要更改URL,但问题是,该页面上的链接无法正常工作。页面使用图像的相对路径等w.r.t新URL,即:
https://example.com/fr/profil-des-transporteurs/
答案 0 :(得分:3)
您可以在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]
然后,要解析用于images / js / css路径的相对链接,可以在页面的HTML的<head>
部分添加:
<base href="/fr/transporter/" />
答案 1 :(得分:2)
您可以在html中使用基本标记,因此所有路径都相对于它
<base href="https://example.com/fr/transporter/">