.htaccess 中的通配符

Wildcards in .htaccess

我们有数百个 coldfusion 文件需要 301 重定向。

它们遵循以下格式:/info2.cfm?info_id=[id]

例如:

www.example.com/info2.cfm?info_id=102555 www.example.com/info2.cfm?info_id=109180 www.example.com/info2.cfm?info_id=106167

我们如何将包含上述任何内容的所有 URL 重定向到根域?所以基本上 301 重定向所有 URL 而不是 contain

info2.cfm?info_id=

谢谢

您可以通过 Apache 中的 httpd.conf(或其他 .conf 文件)创建 Redirect(假设您使用的是 Apache)。其中,将有一个选项来添加您的重定向。您可以包括

Redirect info2.cfm where_you_want_it_to_redirect
<Directory where_you_want_it_to_redirect>
  Order allow,deny
  Allow from all
</Directory>

或...

RedirectMatch info2.cfm(.*) where_you_want_it_to_redirect
<Directory where_you_want_it_to_redirect>
  Order allow,deny
  Allow from all
  Options +FollowSymLinks
</Directory>

...如果您还想使用正则表达式功能。

每次你也这样做,你需要重新启动 Apache。

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On

RewriteCond %{QUERY_STRING} (^|&)info_id=.+ [NC]
RewriteRule ^info2\.cfm$ /? [R=301,L]