将URL匹配到Apache

时间:2016-10-29 08:32:40

标签: apache

我有一个目前正在重定向到另一个页面的域名。这是我的虚拟主机文件:

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / http://www.anotherdomain.com
</VirtualHost>

现在我需要该页面的SSL证书,并验证我必须在某个URL下提供文件。

是否可以提供与例如匹配的apache配置example.com/verify_file_123.txt到我的文件系统上的文件,例如/var/www/my_site/verify_file_123.txt ,但仍然有重定向所有其他路线?

我用

尝试了
<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Alias "/verify_file_123.txt" "/var/www/my_site/verify_file_123.txt"

  Redirect permanent / http://www.anotherdomain.com
</VirtualHost>

但这不起作用。

1 个答案:

答案 0 :(得分:1)

在处理别名之前处理重定向,因此与Redirect或RedirectMatch匹配的请求永远不会应用别名。

您可以尝试这样的事情:

Alias "/verify_file_123.txt" "/var/www/my_site/verify_file_123.txt"

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/verify_file_123.txt
RewriteRule ^ http://www.newdomain.com%{REQUEST_URI} [R=301,L]