首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.htaccess重定向并删除特定URL上的查询字符串

使用.htaccess重定向并删除特定URL上的查询字符串
EN

Stack Overflow用户
提问于 2017-09-30 10:23:15
回答 2查看 2.1K关注 0票数 0

我需要将所有请求重定向到这个链接。

https://www.example.com/firstAccess?utm_source=Newsletter&utm_medium=email&utm_content=Benvenuto+su+Magazzino+Perfetto&utm_campaign=Benvenuto+Analytics

在此链接上:

代码语言:javascript
复制
https://www.example.com/firstAccess

因此,我需要删除单词firstAccess之后的所有内容。

EN

回答 2

Stack Overflow用户

发布于 2017-09-30 14:20:14

要删除的URL的其他部分是查询字符串。您需要使用mod_rewrite检查查询字符串(并在不留下尾随?的情况下删除它)。

尝试类似于.htaccess文件顶部附近的以下内容:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{QUERY_STRING} ^utm_source=Newsletter&utm_medium=email&utm_content=Benvenuto+su+Magazzino+Perfetto&utm_campaign=Benvenuto+Analytics$
RewriteRule ^(firstAccess)$ /$1? [R,L]

这与您的问题中所述的确切URL相匹配。

$1反向引用只是为了避免重复。

替换上的尾随?确保从重定向URL中删除查询字符串。如果使用Apache 2.4+,则可以使用QSD (查询字符串丢弃)标志。

票数 0
EN

Stack Overflow用户

发布于 2017-10-03 07:32:44

完整的.htaccess是:

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{QUERY_STRING} ^utm_source=Newsletter&utm_medium=email&utm_content=Benvenuto+su+Magazzino+Perfetto&utm_campaign=Benvenuto+Analytics$
RewriteRule ^(firstAccess)$ /$1? [R,L]

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Always set these headers.
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

</IfModule>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46501826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档