.htaccess 不重定向主页

.htaccess not redirecting home page

这是我在 Linux 系统上的 .htaccess:

ErrorDocument 401 ./error/
ErrorDocument 403 ./error/

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*)$ http://www.website.co.uk// [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page= [QSA]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.website.co.uk/ [R=301,L]

一切正常; www 被添加到非 www 请求中,并添加了一个尾部斜杠。但是,当访问 www.website.com(在 cPanel 上添加为停放域)时,用户不会重定向到 www.website.co.uk

如果访问 website.com(注意没有 www),那么他们会被重定向。

在 .htaccess 中 add/change 我需要什么?

你的规则是这样的:

ErrorDocument 401 ./error/
ErrorDocument 403 ./error/

RewriteEngine on
RewriteBase /

# if not www.website.co.uk then redirect to it
RewriteCond %{HTTP_HOST} !^www\.website\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.website.co.uk/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ http://www.website.co.uk// [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page= [L,QSA]