替换部分查询字符串

问题描述 投票:2回答:2

说我有这样的URL:

http://example.com/dir1/dir2/index.php?Part1Part2Part3

我怎么能做一个简单的字符串替换来替换.htaccess中的部分?例如,我想改变它

Part1 -> Part4
Part2 -> Part5
Part3 -> Part6

这会导致URL实际存在

http://example.com/dir1/dir2/index.php?Part4Part5Part6
.htaccess mod-rewrite url-rewriting
2个回答
1
投票

您可以使用这些规则从查询字符串替换多个字符串:

RewriteEngine On

RewriteCond %{QUERY_STRING}  (.*?)Part1(.*) [NC]
RewriteRule ^ %{REQUEST_URI}?%1Part4%2 [E=redir:1]

RewriteCond %{QUERY_STRING}  (.*?)Part2(.*) [NC]
RewriteRule ^ %{REQUEST_URI}?%1Part5%2 [E=redir:1]

RewriteCond %{QUERY_STRING}  (.*?)Part3(.*) [NC]
RewriteRule ^ %{REQUEST_URI}?%1Part6%2 [E=redir:1]

RewriteCond %{ENV:redir} =1
RewriteRule .* /$0 [L,R=301,NE]

0
投票

在编码编辑器中替换字符串的指南

  1. Alt + F =查找
  2. 在搜索框中输入Part1 Part2 Part3
  3. ALT + R =取代
  4. 在替换框中键入Part4Part5Part6

来源:我的自我。拿一粒盐。

© www.soinside.com 2019 - 2024. All rights reserved.