我有一个网站http://mywebsite.tld,我想将www.mywebsite.tld重定向到http://mywesite.tld(所以www =>非www)
(防止重复内容)
我已经阅读了很多解释,但目前还没有人工作。
所以这是我的配置,也许有人可以帮助我。
1.my目录。
我的网站/ var / www / linktags 。
/ var / www / i中的在不同网站的根目录不同目录中 1 index.html(“它工作!”文件)
2.我启用了网站的文件“linktags”
<VirtualHost *:80>
ServerName link-tags.com
ServerAdmin cedric.duma@gmail.com
#ServerName http://www.link-tags.com
########## Directory ##########
DirectoryIndex index.php index.cgi index.html index.htm
DocumentRoot /var/www/linktags
<Directory />
Options +FollowSymLinks
AllowOverride all
</Directory>
########## Alias ##########
########## Log Directives ##########
ErrorLog /var/www/linktags/logs/error.log
CustomLog /var/www/linktags/logs/access.log vhost_combined
</VirtualHost>
然后我的默认文件仍在启用网站的
中<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
我的.htaccess文件
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [C]
RewriteRule ^www\.(.*)$ http://$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
这是我猜的wordress生成的默认文件。
正如你所看到我尝试了一些重写,但没有发生任何事情
我认为在启用网站和我的htaccess中的linktags文件中存在一些错误。
在我的专用服务器的OVH管理器中,我为我的DNS提供了这个conf:
.link-tags.com NS ns106.ovh.net
.link-tags.com NS dns106.ovh.net
.link-tags.com MX 1 redirect.ovh.net
.link-tags.com A xx.xx.xx.xx
www.link-tags.com CNAME link-tags.com
答案 0 :(得分:1)
让你的.htaccess像这样:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
# remove www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
编辑:在ServerAlias
条目中为www
VirtualHost
<VirtualHost *:80>
ServerName link-tags.com
ServerAlias www.link-tags.com
ServerAdmin cedric.duma@gmail.com
#ServerName http://www.link-tags.com
########## Directory ##########
DirectoryIndex index.php index.cgi index.html index.htm
DocumentRoot /var/www/linktags
<Directory />
Options +FollowSymLinks
AllowOverride all
</Directory>
########## Alias ##########
########## Log Directives ##########
ErrorLog /var/www/linktags/logs/error.log
CustomLog /var/www/linktags/logs/access.log vhost_combined
</VirtualHost>
PS:确保您在WP的设置中也使用非www域。