我在Linux EC2实例上运行apache网络服务器。
问题是您可以使用IP地址,DNS和域名访问服务器。这给SEO带来了问题,我想整理一下。
我已经阅读了apache文档,您可以执行mod_rewrite,如果您具有root用户访问权限,则需要在httpd.conf中进行此操作,否则,对于每个目录覆盖,您都可以在.htaccess中进行此操作。我具有root用户访问权限,因此我尝试更改httpd.conf
如果用户输入http://52.17.12.123/或http://ec2-52.17.12.123.eu-west-1.compute.amazonaws.com/
我希望将他们重定向到www.example.com
这就是我尝试过的
<VirtualHost *:80>
DocumentRoot "/var/www/html/my-website"
# Other directives here
RewriteEngine On
RewriteCond %{HTTP_HOST} !^52.17.12.123.com$
RewriteRule /* http://www.example.com/ [R]
</VirtualHost>
它似乎可以部分工作,但是由于多次重定向,www.example.com无法加载。
-编辑-谢谢,所以现在在我的httpd.conf中,我具有以下配置
Listen 80
NameVirtualHost *:80
DocumentRoot "/var/www/html/my-website"
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.example\.com)$ [NC]
RewriteRule ^/(.*)$ http://www.example.com [R=301,L]
现在一切正常
It seems to partially work
。
考虑到您当前的规则,我对此表示怀疑httpd.conf
。
你可以这样
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^/(.*)$ http://www.example.com/$1 [R=301,L]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句