1

我有一个带有查询字符串的 URL,我试图重定向它,但我无法让它工作。原始 URL 不仅有一个查询字符串,它是一个 Joomla SEF URL 并包含一个?在 URL 中也是如此。一团糟。这是原始网址:

http://www.domain.com/menu-item/item/1234-article-title-here?.html&utm_source=XYZ&utm_medium=ABC&utm_campaign=the+campaign+name

我尝试了几种不同的重写条件和规则,但我尝试过的都没有。由于没有实际的子目录,我还将语句放在根目录的 .htaccess 中。查询字符串不需要传输。

我试过这个,但没有奏效:

RewriteCond %{REQUEST_URI}  ^/menu-item/item/1234-article-title-here\?\.html$
RewriteRule ^(.*)$ http://www.domain.com/new-page.html? [R=302,L]

我也试过

RewriteCond %{REQUEST_URI}  ^/menu-item/item/1234-article-title-here$
RewriteRule ^(.*)$ http://www.domain.com/new-page.html? [R=302,L]

和这个

RewriteCond %{REQUEST_URI}  ^1234-article-title-here\?\.html$
RewriteRule ^(.*)$ http://www.domain.com/new-page.html? [R=302,L]

和这个

RewriteCond %{REQUEST_URI}  ^1234-article-title-here$
RewriteRule ^(.*)$ http://www.domain.com/new-page.html? [R=302,L]

以及@jon lin 的回答。我最终找到了一个有效的重定向,发布在下面。

4

2 回答 2

1

这就是最终工作的结果:

RewriteCond %{REQUEST_URI}  ^/menu-item/item/1234-article-title-here$
RewriteRule ^(.*)$ http://www.domain.com/new-page.html? [R=302,L]
于 2013-05-24T02:30:25.317 回答
0

你有没有尝试过:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^\.html&utm_source=XYZ&utm_medium=ABC&utm_campaign=the+campaign+name$
RewriteRule ^menu-item/item/1234-article-title-here$ /page-you-want-to-redirect-to? [L,R=301]

目标末尾的?删除查询字符串,使其不包含在重定向中。

于 2013-05-23T23:36:15.417 回答