VirtualHost 中的 RewriteEngine 不起作用

VirtualHost 中的 RewriteEngine 不起作用

我正在将网站从 Synology 服务器移至另一台服务器,并希望自动重定向。我在 syno 上有虚拟主机,网站位于域 sub.domain.com 中。新网站位于 newdom.com/sub 中。这是 httpd-vhost.conf-user 文件:

NameVirtualHost *:80
<VirtualHost *:80>
ServerName *
DocumentRoot /var/services/web
RewriteLog /volume1/web/logs/rewrite.log

RewriteEngine On
RewriteCond %{HTTP_host} ^(sub\.domain\.com) [NC]
RewriteRule (.*) [%1$1...] [R=301,L]    
</VirtualHost>

<VirtualHost *:80>
ServerName sub.domain.com
DocumentRoot "/var/services/web/bugs"
ErrorDocument 403 "/webdefault/sample.php?status=403"
ErrorDocument 404 "/webdefault/sample.php?status=404"
ErrorDocument 500 "/webdefault/sample.php?status=500"
<Directory />
AllowOverride FileInfo Options
Options FollowSymLinks
Options SymLinksIfOwnerMatch
</Directory>

RewriteEngine on
Options +FollowSymLinks
RewriteRule ^(.∗)$ http://newdom.com/sub/$1 [R=301,L]
ErrorLog "/var/services/web/logs/error-bug.log"

</VirtualHost>

重新启动 Apache...什么也没有发生,没有重定向

重写日志显示:

10.10.10.60 - - [15/Jul/2010:10:53:41 +0200] [sub.domain.com/sid#1017a370][rid#102f6800/initial] (2) init rewrite engine with requested uri /
10.10.10.60 - - [15/Jul/2010:10:53:41 +0200] [sub.domain.com/sid#1017a370][rid#102f6800/initial] (3) applying pattern '^(.*?)$' to uri '/'
10.10.10.60 - - [15/Jul/2010:10:53:41 +0200] [sub.domain.com/sid#1017a370][rid#102f6800/initial] (1) pass through /

error.log 中没有任何内容。

有什么帮助吗?

答案1

您需要 RewriteLogLevel <some_number_greater_than_zero> 来打开正在发生的事情的日志记录。

答案2

好的,这是配置文件中的编码问题...重定向现在可以起作用了!

相关内容