【发布时间】:2021-02-11 16:40:20
【问题描述】:
我想知道是否可以将https://site1.com/en/article-details.test-article?item=test 之类的 URL 格式化为 https://site1.com/en/article-details/test-article?item=test,所以基本上将 .test-article 更改为 /test-article。
由于我的网站的工作方式,它仅将 .test-article 识别为有效选择器,因此阅读 https://httpd.apache.org/docs/2.4/rewrite/flags.html 似乎我可能需要使用 PT 标志向用户显示所需的 URL,但将正确的 URL 传递给我的网站。
到目前为止,我已经用这个来替换斜线的点
RewriteCond %{REQUEST_URI} ^/([a-z]{2})/article-details.([a-z]{2})(/?)$
RewriteRule ^/([a-z]{2})/.* https://%{SERVER_NAME}/$1/$2 [L,NC,R=301]
编辑(这可以按照 RavinderSingh13 的建议格式化 URL)
RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/([a-z]{2})/article-details.([^?]*)(/?)$
RewriteRule ^ https://%{SERVER_NAME}/%1/article-details/%2 [QSA,R=301,NE,L]
【问题讨论】:
标签: apache .htaccess redirect mod-rewrite url-rewriting