Redirect from ip to domain

时间:2012-10-30 作者:Kamal Joshi

我想防止网站被ip访问。它只能通过域名访问,所以我尝试了htaccess技巧。

RewriteCond %{HTTP_HOST} !^mydomain\\.com [NC]
RewriteRule .? http://mydomain.com%{REQUEST_URI} [R=301,L]
现在我的siteurl改为mydomain,成功了。com而不是我的ip。但据我所知,这并不是完全的解决方案。每当我更改永久链接时,将生成新的htaccess,因此上述条件将被删除。

所以我想我必须尝试索引。php尝试通过以下方式重定向url中是否存在ip:

if(strpos($_SERVER[\'HTTP_HOST\'],\'111.111.111.11\') !== false) {      
header("Location: mydomain.com".$_SERVER[\'REQUEST_URI\']);
}
但它并没有做任何事情,仍然通过ip访问站点。让我知道我的方法是否正确。如果有其他建议,请告诉我。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

WordPress不会创建一个全新的。htaccess。它只是重建WordPress标记之间的部分:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
任何放置在此块之外的规则都不会被触及。

结束

相关推荐

位于不同目录中的两个“.htaccess”文件?

我找到了两个“.htaccess”文件,其中一个位于“/httpdocs/”。htaccess”,另一个位于“/httpdocs/wordpress/”。htaccess的内容不同,这正常吗?Wordpress安装在“/Wordpress/”目录上,然后从未更改,但当用户访问我的网站时,URL会显示“http://www.mydomain.com,URL上没有显示“wordpress”。此外,从设置>常规:WordPress地址(URL):http://www.mydomain.com/wordpr