我想将我的网站宣传为mydomain.com。对我来说它看起来比www.mydomain.com好。通过重定向修剪此www.
部分是一种常见做法吗?有人会去www.mydomain.com/books
,我会将他重定向到mydomain.com/books
。这个想法背后有潜在的陷阱吗?
另一个原因是使第三方回调网址变得简单。目前,我需要将mydomain.com/oauth/google
和www.mydomain.com/oauth/google
都声明为我的重定向网址,因为Google认为它们不同。这不是一个大问题,但需要考虑额外的事情。
如果修剪www.
是安全的,那怎么能实现呢?我在Apache上使用PHP。我目前的.htaccess看起来像这样:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答案 0 :(得分:4)
您应该在www.example.com或example.com上进行规范化,您选择的主要符合您的偏好。关于哪些是正确的或应该使用的观点各不相同。
no-www.org提倡使用www子域是多余的,因为使用http协议意味着Web。
另一方面,默认情况下,所有流行的Web浏览器都采用HTTP协议。在这样做时,该软件会预先设置&#39; http://&#39;到请求的URL并自动连接到端口80上的HTTP服务器。为什么许多服务器要求他们的网站通过www子域进行通信?邮件服务器不要求您向recipient@mail.domain.com发送电子邮件。同样,除非需要特定的子域,否则Web服务器应允许通过主域访问其页面。
yes-www.org提倡使用www子域名,因为它可以使您的网站更加灵活。通过使用www子域,您可以通过在dns记录中使用CNAME来更轻松地使用CDN /云托管等内容。
当使用Heroku或Akamai等提供商来托管您的网站时,提供商希望能够更新DNS记录,以防需要将流量从故障服务器重定向到健康的服务器。这是使用DNS CNAME记录设置的,裸域不能有CNAME记录。
当您在另一个域上托管静态资产时,它还可以帮助防止不必要的Cookie流量。
一种常见的网站优化是从子域提供静态内容,例如static.example.com。如果您使用www,那么这没问题;您的网站的Cookie不会被发送到静态子域(除非您明确设置它们)。
您希望将所有版本的流量重定向到您最终使用的版本。使用apache可以使用mod_rewrite完成,如其他答案所示:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
如果您能够编辑主apache配置,另一个选项是设置两个虚拟主机,其中一个只重定向到另一个。我这样做是为了我的网站而且效果很好。
<VirtualHost *:80>
ServerName example.com
Redirect permanent / http://www.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www
#The rest of your configuration
</VirtualHost>
答案 1 :(得分:2)
这是我从SEO角度回答的问题。
正如SEO MOZ在其令人敬畏的Beginner's Guide to SEO中所暗示的那样:
通常会出现两个或多个完全相同内容的副本 您的网站在不同的网址下。例如,以下内容 网址都可以引用单个主页:
- http://www.example.com/
- http://www.example.com/default.asp
- http://example.com/
- http://example.com/default.asp
- http://Example.com/Default.asp
对于搜索引擎,它们显示为五个单独的页面。因为 每个页面上的内容相同,这可能导致搜索 贬值内容及其潜在排名的引擎。
我们可以得出结论,如果您使用或不使用301
设置页面,则无关紧要。但是,将HTTP代码.htaccess
重定向到一个&#34;统一&#34;是一个好主意。域。为此,Apache 2支持RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
设置:
keys=pygame.key.get_pressed()
if keys[K_LEFT]:
location -= 0.1 #or 0.01
if location==-1:
location=0
if keys[K_RIGHT]:
location += 0.1 #or 0.01
if location==5:
location=4
答案 2 :(得分:0)
您使用.htaccess
文件
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
答案 3 :(得分:0)
如果你可以使用.htaccess,你可以用一种简单的方式重定向:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]