使用 htaccess 重写 URL 以获取多个参数

使用 htaccess 重写 URL 以获取多个参数

我正在尝试重写这个:

https://mywebsite.com/pages/article.html?id=1&title=Title-Goes-Here

进入

https://mywebsite.com/pages/article/1/Title-Goes-Here

使用此重写规则

RewriteEngine on
RewriteRule ^article/([0-9]+)/([0-9a-zA-Z_-]+)$ article.html?id=$1&title=$2 [NC,L] 

但是,当我尝试此代码时https://htaccess.madewithlove.com/它给了我

这条规则没有得到满足。

还尝试在我的网站 htaccess 文件上进行操作,但没有结果。我不知道问题出在哪里。

答案1

来自 stackoverflow

在 htaccess 中使用它:

RewriteEngine ON
##External redirect in browser rules here....
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{THE_REQUEST} \s/([^/]*)/([^.]*)\.html\?id=([^&]*)&title=(\S+)\s [NC]
RewriteRule ^ /%1/%2/%3/%4? [R=301,L]

##Internal rewrite to html file rules here....
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$  $1/$2.html?id=$3&title=$4 [QSA,NC,L]

这是 article.html 中 head 开启标签之后的内容

<base href="/" /> 

一切都按预期运行。有人帮我解决了那个代码 :)

相关内容