gpt4 book ai didi

.htaccess Mod_Rewrite 带 2 个参数

转载 作者:行者123 更新时间:2023-12-04 07:36:08 24 4
gpt4 key购买 nike

@anubhava 为我之前使用以下代码进行 .htaccess 内部重写的问题提供了一个很好的答案,该代码适用于我的一个搜索查询。


RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} id=([0-9]+) [NC]
RewriteRule ^file\.php$ /directory/%1? [R=301,L,NC]

RewriteRule ^directory/(\d+)/?$ /directory/file.php?id=$1 [L,QSA,NC]
我想把它作为一个单独的问题,因为我的下一个问题略有不同。我怎么能适应它也适用于 两个参数?例如,我也想 http://ipaddress/directory/file.php?id=47?name=value1重定向到 http://ipaddress/directory/47/value1 名称= 也可以是字母和数字的任意组合,例如 value1050 等。
谢谢 @anubhava 对于您之前的回答,也许还有一种方法可以添加此 第二个参数 还有?

最佳答案

考虑到您正在 id=1234&name=value123 中隔离查询字符串值样式,因为不允许传递 2 次查询字符串,那么您可以尝试以下操作,修复您显示的尝试。

RewriteEngine on
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^id=(\d+)&name=(.*)$ [NC]
RewriteRule ^file\.php/?$ /directory/%1/%2? [R=301,L,NC]

RewriteRule ^directory/(\d+)/(.*)/?$ /directory/file.php?id=$1&name=$2 [L,QSA,NC]

第二种解决方案:在此处再添加 1 个解决方案,请使用上述解决方案或一次仅使用以下一个解决方案。
RewriteEngine on
RewriteCond %{THE_REQUEST} \s/file\.php\?d=(\d+)&name=(\S+)\s [NC]
RewriteRule ^ /directory/%1/%2? [R=301,L]
RewriteRule ^directory/(\d+)/(.*)/?$ /directory/file.php?id=$1&name=$2 [NC,L,QSA]

关于.htaccess Mod_Rewrite 带 2 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67730666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com