HT访问 用于虚拟主机的 URL 重定向



我有一个运行 3 个虚拟主机的 Apache 服务器:

<VirtualHost *:80>
DocumentRoot "/var/www/sub1"
ServerName sub1.domain.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/sub2"
ServerName sub2.domain.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/sub3"
ServerName sub3.domain.com
# Other directives here
</VirtualHost>

我想在sub3上设置 URL 重定向,以便在请求sub3.domain.com/go/7dj29时,它会重定向到sub3.domain.com/go/redirect.php?id=7dj29.

我在/var/www/sub3中创建了一个.htaccess

RewriteEngine On
RewriteRule ^/go/([a-zA-Z0-9]{5,})$ /go/redirect.php?id=$1 [QSA,L]

但是,我收到的是 404 而不是重定向;我做错了什么?

Not Found
The requested URL /go/7uja8 was not found on this server.

以下规则有效。

RewriteRule ^go/([a-zA-Z0-9]{5,})$ /go/redirect.php?id=$1

要使 apache 从.htaccess加载规则,您至少需要AllowOverride FileInfo,但您可以在没有它的情况下直接VirtualHost上下文中设置它。

相关内容

  • 没有找到相关文章

最新更新