在 Apache2 中,常见的**重定向(Redirect)**方式有几种,取决于你的使用场景(整站跳转、单页面跳转、HTTP→HTTPS、带/不带 www 等)。下面按常见情况给你说明。
.htaccess 做重定向(最常用)Redirect 301 /old.html http://example.com/new.html
Redirect 301 / http://newdomain.com/
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
编辑:
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
修改后重启 Apache:
sudo systemctl restart apache2
| 类型 | 说明 |
|---|---|
Redirect 301 |
永久重定向(SEO 友好) |
Redirect 302 |
临时重定向 |
RewriteRule |
更灵活、可带条件 |
sudo a2enmod rewrite
sudo systemctl restart apache2
<Directory /var/www/html>
AllowOverride All
</Directory>
如果你能告诉我:
我可以给你更精准的配置示例。