无法正常使用htaccess多个查询字符串
P粉312631645
P粉312631645 2024-03-31 17:05:58
0
1
454

我想获取此网址:

example.com/scooter-details/1/vespa-sprint

但是我得到的网址是:

example.com/scooter-details.php?scooter_id=1&scooter_brand=vespasprint&scooter_model=

scooter_model“sprint”位于scooter_brand查询中,通常必须是scooter_brand=vespa&scooter_model=sprint。希望你能帮我解决这个问题

这是 htaccess 代码

Options +FollowSymLinks -MultiViews
RewriteEngine On
# SEO FRIENDLY URL

# Redirect "/scooter-details.php?service_id=<num>" to "/scooter-details/<num>"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^scooter_id=(\d+)&scooter_brand=([^/.]+)&scooter_model=([^/.]+)$
RewriteRule ^(scooter-details)\.php$ //%1/%2-%3? [QSD,L,R=301,N]

# Rewrite "/scooter-details/<num>" back to "scooter-details.php?service_id=<num>"
RewriteRule ^(scooter-details)/(\d+)/([^/]+)$ .php?scooter_id=&scooter_brand=&scooter_model= [L]

P粉312631645
P粉312631645

全部回复(1)
P粉320361201

如果您要捕获查询字符串的元素(即已经 URL 编码)并使用它们来构建 URL 路径。否则,您最终将得到结果 URL 路径的双重 URL 编码部分 - 这就是它的样子。

%20 是双重 URL 编码的空格。 IE。您正在捕获的查询字符串中似乎有 (即空格)。

但是,您发布的规则似乎与给出的示例 URL 无关?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!