Apache RedirectMatch

时间:2016-10-03 20:58:39

标签: apache url redirect httpd.conf

我正在使用apache服务器(2.2),我正在尝试根据URL过滤器重定向URL。例如,

 https://mywebsite.com/path/to/page?folder=folderDirectory/folderName

将重定向到:

 https://mywebsite.com/static/contentUnavailable.html

在我的 httpd.conf 文件中,我有以下代码..

 RedirectMatch (.*)path/to/page?folder=folderDirectory/folderName /static/contentUnavailable.html

每次我修改此文件时都会重启apache,但页面不会重定向。我在RedirectMatch中做错了什么?

1 个答案:

答案 0 :(得分:1)

您无法将查询字符串与重定向匹配进行匹配,抱歉,您需要mod_rewrite并使用RewriteCond。粗略的例子:

RewriteCond %{QUERY_STRING} ^folder
RewriteRule ^ /static/contentUnavailable.html [R,L,QSD]

这将匹配以文件夹开头的查询字符串(并继续其他任何内容,无论它是什么)。并将所有内容重定向到您想要的目的地,在此过程中丢弃查询字符串(QSD标志)。

在任何情况下,让我赞扬你首先尝试坚持重定向/重定向匹配(而其他人只是盲目地为mod_rewrite做最简单的重定向)。你做得对。