Sto*_*per 5 apache .htaccess mod-rewrite url-rewriting url-redirection
我想重写我的网址
从:
https://example.com/fr/transporter/transporterPublicProfile.php?profil=1927
Run Code Online (Sandbox Code Playgroud)
至:
https://example.com/fr/profil-des-transporteurs/1927
Run Code Online (Sandbox Code Playgroud)
当用户访问此URL时:
https://example.com/fr/transporter/transporterPublicProfile.php?profil=1927
Run Code Online (Sandbox Code Playgroud)
看起来应该是这样的:
https://example.com/fr/profil-des-transporteurs/1927
Run Code Online (Sandbox Code Playgroud)
如果用户访问此网址:
https://example.com/fr/profil-des-transporteurs/1927
Run Code Online (Sandbox Code Playgroud)
它应保持原样.
到目前为止我尝试过的是:
RewriteRule ^profil-des-transporteurs/(.*)$ /fr/transporter/profil.php?oid=$1 [L]
Run Code Online (Sandbox Code Playgroud)
它会根据需要更改URL,但问题是,该页面上的链接无法正常工作.页面使用图像的相对路径等新URL,即:
https://example.com/fr/profil-des-transporteurs/
Run Code Online (Sandbox Code Playgroud)
您可以在您的文件中使用此代码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]
Run Code Online (Sandbox Code Playgroud)
然后,为了解析用于 images/js/css 路径的相对链接,您可以将其添加到<head>
页面 HTML 部分:
<base href="/fr/transporter/" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
135 次 |
最近记录: |