Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
301使用标准WordPress.htaccess文件重定向IP地址_Wordpress_.htaccess_Redirect - Fatal编程技术网

301使用标准WordPress.htaccess文件重定向IP地址

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 重写规则

对于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
重写规则/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]