0

我有一个有趣的问题,我有一个 QR 码,扫描后会将用户发送到以下地址:

enzymedica.org/ls/27210 

(这只是 DEV 网站,真正的网站是 .com)

然后我成功地重定向到这个地址:

enzymedica.org/education/digestive/digest-gold.html

现在问题出现了,如果这就是它所做的一切,那么我们就不会有问题,但是当二维码被扫描时,它会加上一个“?” 然后是一个像 0000 这样的数字。

因此,实际上您发送到的网址或多或少是这样的:

http://www.enzymedica.org/ls/27210?0000

并在重定向后得到:

http://www.enzymedica.org/education/digestive/digest-gold.html?0000

所以我需要一些方法来重写 url 以在“.html”结束并且在它之后不显示任何内容。

4

1 回答 1

1
Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+\.html)\?.+ [NC]
RewriteRule ^ %1? [R=301,L]

上面将检查是否education/digestive/anythinghere.html有查询字符串,如果有,它将在没有查询字符串的情况下重定向。

或者,如果您想要该 URL 的精确重定向,您可以使用:

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(education/digestive/digest-gold\.html)$ /$1? [R=301,NC,L]

或者,如果您想在ls/id级别上消除它:

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^ls/([0-9]+)/?$ /ls/$1? [R=301,NC,L]
于 2013-09-19T19:36:33.273 回答