301使用标准WordPress.htaccess文件重定向IP地址
对于IP规范化,我被告知需要将站点的IP地址重定向到域名。我正在运行一个标准的WordPress安装,它已经有了自己的.htaccess文件。我在下面修改了它,添加了“重定向”行:301使用标准WordPress.htaccess文件重定向IP地址,wordpress,.htaccess,redirect,Wordpress,.htaccess,Redirect,对于IP规范化,我被告知需要将站点的IP地址重定向到域名。我正在运行一个标准的WordPress安装,它已经有了自己的.htaccess文件。我在下面修改了它,添加了“重定向”行: #开始WordPress 重新启动发动机 重写基/ 重定向301http://12.34.56.789 http://www.domainname.com 重写规则^index\.php$-[L] 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D 重写规则
#开始WordPress
重新启动发动机
重写基/
重定向301http://12.34.56.789 http://www.domainname.com
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
但是,它不起作用。有人知道怎么回事吗
谢谢 您通常不希望将
重定向
(mod_别名)与重写规则
(mod_rewrite)混合使用,因为它们都应用于同一个URI,并且有时会相互碰撞。只要坚持使用mod_rewrite,因为你已经有了使用它的wordpress规则
替换
Redirect 301 http://12.34.56.789 http://www.domainname.com
与:
乔恩·林的回答对我有用,但我不得不使用
RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.789$
RewriteRule ^(.*)$ http://www.domainname.com/$1 [L,R=301]
而不是
RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ http://www.domainname.com/$1 [L,R=301]
重写条件可以更宽松地表示为
RewriteCond%{HTTP\u HOST}^\d+\.\d+\.\d+\.\d+\.\d+$
-没有必要将此规则限制为单个IP地址。我没有意识到这有什么区别(重定向与rewriterule)。谢谢@问题在于,如果服务器实际侦听多个IP地址,不同的主机名可能映射到不同的IP。如果将所有IP重定向到单个主机名,则会丢失该映射。@JonLin我们这里说的是.htaccess文件,而不是httpd.conf
RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.789$
RewriteRule ^(.*)$ http://www.domainname.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ http://www.domainname.com/$1 [L,R=301]