小编Pra*_*ant的帖子

Apache 网络服务器:如何将所有对 domain.com 的请求重定向到 www.domain.com

像这样的东西适用于索引页面:

<VirtualHost *:80>
ServerName example.com
Redirect permanent / http://www.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName http://www.example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

所以像这样的网址:

http://example.com gets forwarded to 
http://www.example.com
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

http://example.com/robots.txt
Run Code Online (Sandbox Code Playgroud)

我还在 .htaccess 中尝试了以下内容,结果相同:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

完整配置:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

<VirtualHost *:80>
ServerName example.com
Redirect permanent / http://www.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName http://www.example.com

ProxyPass / balancer://example/ stickysession=JSESSIONID|jsessionid
ProxyPassReverse / balancer://example/ stickysession=JSESSIONID|jsessionid
ProxyPreserveHost On

<Proxy balancer://example>
BalancerMember http://host1.example.com:8080/ route=tomcat1
BalancerMember http://host2.example.com:8080/ route=tomcat2 …
Run Code Online (Sandbox Code Playgroud)

apache-2.2

4
推荐指数
3
解决办法
3万
查看次数

标签 统计

apache-2.2 ×1