2013-04-13 60 views
0

道歉,如果这对某些人来说似乎很简单。Canonical https和www

在我已经设置了301个重定向用的代码片段,是在互联网上过去:

Options +FollowSymlinks 
RewriteEngine on 
rewritecond %{http_host} ^domain.com [nc] 
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 

但是,一些事情离开我不确定这个特殊的项目。

1)我使用HTTPS,所以有四个CNAMES现在(是(CNAME)正确的术语?) https://example.com https://www.example.com http://example.com http://www.example.com

2)我用一个CMS需要的.htaccess文件,以便在运行网站时搜索CSS和其他信息。因此,我作为一个技术较低的人,担心会乱动.htaccess文件(当这个文件丢失之前死于一个单独的问题,该网站是不工作的)

问题: 1)它有问题吗? int他.htaccess文件我把重定向?开始/结束文件? 2)如何修改上面的代码片段以考虑https?

这里是的.htaccess代码

# Turn on URL rewriting only when mod rewrite is turn on 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # Installation directory 
    RewriteBase/

    # Protect application and system files from being viewed 
    RewriteRule ^(application|modules|system|tests|sql) - [F,L] 

    # Allow any files or directories that exist to be displayed directly 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    # Rewrite all other URLs to index.php/URL 
    RewriteRule .* index.php?kohana_uri=$0 [L,QSA] 
</IfModule> 

# Protect the htaccess from being viewed 
<Files .htaccess> 
    order allow,deny 
    deny from all 
</Files> 

# Don't show directory listings for URLs which map to a directory. 
Options -Indexes 

#Follow symlinks 
Options +FollowSymlinks 
+0

也许这[帮助](http://stackoverflow.com/questions/2097542/use-htaccess-to-add-www-with-https-support)将有所帮助。 –

+0

你想达到什么目的? HTTPS会发生什么或不会发生什么? –

+0

@Olaf我希望访问者能够到达一个域名,而不管他们进来的4个变体中的哪一个:https://example.com –

回答

1

所有请求重定向到http://example.com,您可以前缀的规则与

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [OR] 
RewriteCond %{HTTPS} =on 
RewriteRule ^.*$ http://example.com/$0 [R,L] 

这会将所有的要求,配备了HTTPS或www.example.com或两者。

当一切正常如您所料,您可以将R更改为R=301

从未使用301启用测试,请参阅此答案Tips for debugging .htaccess rewrite rules以了解详细信息。

+0

谢谢奥拉夫这是有帮助的。只有一个问题 - 这会被视为301重定向吗?我的理解是,这很重要。 –

+0

@DougFirr请参阅最新的答案。 –

+0

好的,谢谢你我很高兴在使用301s时注意浏览器的积极缓存。考虑到这一点,我尝试了你的代码,看起来可能有一个问题: 如果你访问https://example.com,它不会重定向。所有其他变体DO将重定向到example.com。 example.com与SEO:https://example.com有什么不同?再次感谢你的帮助。如果它有助于这个网站可以在这里看到:http://tinyurl.com/c8djrvr –

相关问题