对于IP规范化,我被告知我需要将站点的IP地址重定向到域名。我正在运行一个标准的WordPress安装,它已经附带了它自己的.htaccess文件。我通过添加“重定向”行来修改它:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Redirect 301 http://12.34.56.789 http://www.domainname.com
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
然而,它不起作用。谁知道出了什么问题?
谢谢!
答案 0 :(得分:9)
您通常不希望将Redirect
(mod_alias)与RewriteRule
(mod_rewrite)混合使用,因为它们都应用于同一个URI,并且有时会破坏彼此的更改。只需坚持使用mod_rewrite,因为你已经使用了wordpress规则。
替换
Redirect 301 http://12.34.56.789 http://www.domainname.com
使用:
RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ http://www.domainname.com/$1 [L,R=301]
答案 1 :(得分:1)
Jon Lin的回答对我有用,但我必须使用
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]