我的服务器。 htaccess的规则是这样的:.htaccess规则导致内部服务器错误,但它们看起来正确
RewriteEngine On
# first redirect
RewriteCond %{HTTP_HOST} ^www\.testing\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^testing\.examplewebsite\.co\uk$ [NC]
RewriteRule ^(.*)$ https://testing.examplewebsite.com/$1 [L,R=301]
# second redirect
RewriteCond %{HTTP_HOST} ^www\.test\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^test\.examplewebsite\.co\uk$ [NC]
RewriteRule ^(.*)$ https://test.examplewebsite.com/$1 [L,R=301]
# Main redirect
RewriteCond %{HTTP_HOST} ^www\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^examplewebsite\.co\uk$ [NC]
RewriteRule ^(.*)$ https://examplewebsite.com/$1 [L,R=301]
# All subdomains that don't exist redirect
RewriteCond %{HTTP_HOST} ^(.+)\.examplewebsite\.co\.uk$ [NC]
RewriteRule^https://www.examplewebsite.com/ [L,R]
但由于某些原因没有它会导致服务器内部错误,我不知道,如果他们都是100%正确任。像最后一条规则一样,在起始处也应该使用^(.*)$
,在末尾使用$1
同样的标志,不太确定它们是否全部正确。
基本上我试图让:
testing.examplewebsite.co.uk
和www.testing.examplewebsite.co.uk
去https://testing.examplewebsite.com
test.examplewebsite.co.uk
和www.test.examplewebsite.co.uk
去https://test.examplewebsite.com
- 其他一些子域像上面
examplewebsite.co.uk
和www.examplewebsite.co.uk
去https://examplewebsite.com
- 使所有使用的域名,例如
stackoverflow.examplewebsite.co.uk
和www.stackoverflow.examplewebsite.co.uk
都被发送到https://examplewebsite.com
在添加这些规则之前,您的.htaccess工作吗?你有没有检查你的错误日志? –
是的,在我的日志中没有错误:( – Ryflex
你不能看到正确的apache日志,它会显示为什么会有500错误,很可能是它不能识别'RewriteEngine'删除第一行RewriteEngine,看看你是否仍然有错误 –