.htaccess 规则导致内部服务器错误但它们看起来正确
.htaccess rules causing internal server error yet they look right
我的服务器。 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/ [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/ [L,R=301]
# Main redirect
RewriteCond %{HTTP_HOST} ^www\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^examplewebsite\.co\uk$ [NC]
RewriteRule ^(.*)$ https://examplewebsite.com/ [L,R=301]
# All subdomains that don't exist redirect
RewriteCond %{HTTP_HOST} ^(.+)\.examplewebsite\.co\.uk$ [NC]
RewriteRule ^ https://www.examplewebsite.com/ [L,R]
但由于某种原因none它会导致服务器内部错误,我也不确定它们是否都是 100% 正确的。像最后一条规则一样,是否也应该在开头使用 ^(.*)$
并在结尾使用 </code></p>
<p>标志也一样,不太确定它们是否都正确。</p>
<p>基本上我想做的是:</p>
<ul>
<li><code>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
将所有使用的域名,例如Whosebug.examplewebsite.co.uk
和www.Whosebug.examplewebsite.co.uk
都发送到https://examplewebsite.com
您的所有条件都有错字。您的行中的第二个条件在 uk
之前缺少 .
。 ^testing.examplewebsite.co.uk$[NC]
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/ [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/ [L,R=301]
# Main redirect
RewriteCond %{HTTP_HOST} ^www\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^examplewebsite\.co\.uk$ [NC]
RewriteRule ^(.*)$ https://examplewebsite.com/ [L,R=301]
# All subdomains that don't exist redirect
RewriteCond %{HTTP_HOST} ^(.+)\.examplewebsite\.co\.uk$ [NC]
RewriteRule ^ https://www.examplewebsite.com/ [L,R]
我的服务器。 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/ [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/ [L,R=301]
# Main redirect
RewriteCond %{HTTP_HOST} ^www\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^examplewebsite\.co\uk$ [NC]
RewriteRule ^(.*)$ https://examplewebsite.com/ [L,R=301]
# All subdomains that don't exist redirect
RewriteCond %{HTTP_HOST} ^(.+)\.examplewebsite\.co\.uk$ [NC]
RewriteRule ^ https://www.examplewebsite.com/ [L,R]
但由于某种原因none它会导致服务器内部错误,我也不确定它们是否都是 100% 正确的。像最后一条规则一样,是否也应该在开头使用 ^(.*)$
并在结尾使用 </code></p>
<p>标志也一样,不太确定它们是否都正确。</p>
<p>基本上我想做的是:</p>
<ul>
<li><code>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
Whosebug.examplewebsite.co.uk
和www.Whosebug.examplewebsite.co.uk
都发送到https://examplewebsite.com
您的所有条件都有错字。您的行中的第二个条件在 uk
之前缺少 .
。 ^testing.examplewebsite.co.uk$[NC]
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/ [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/ [L,R=301]
# Main redirect
RewriteCond %{HTTP_HOST} ^www\.examplewebsite\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^examplewebsite\.co\.uk$ [NC]
RewriteRule ^(.*)$ https://examplewebsite.com/ [L,R=301]
# All subdomains that don't exist redirect
RewriteCond %{HTTP_HOST} ^(.+)\.examplewebsite\.co\.uk$ [NC]
RewriteRule ^ https://www.examplewebsite.com/ [L,R]