【发布时间】:2017-06-12 12:08:34
【问题描述】:
我有两个相同版本的网站,都使用不同的 AWS EC2 实例(暂存 xx.xx.xx.xx 和生产 xxx.xxx.xxx.xxx)。我想创建一个 301 重定向,将所有用户从登台站点重定向到生产站点,除非他们从我的 IP 访问。我认为这是一项相对简单的任务,但在过去的几个小时里,我一直在尝试完成这项工作,但没有得到解决。我希望这里的某个人能够为我指明正确的方向。目前,重定向适用于主页 http://xx.xx.xx.xx 的访问者,但不适用于其他页面,例如 http://xx.xx.xx.xx/page1 或 ec2 公共 DNS,例如 http://ec2-xx-xx-xx-xx.us-west-1.compute.amazonaws.com/ 这是我的整个 .htaccess 文件,我添加的重定向是最后一个。您能给我的任何帮助将不胜感激!
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
# END WordPress
RewriteEngine on
RewriteRule ^(.*)$ http://newsite.com/$1 [L,R=301,NC]
RewriteBase /
RewriteCond %{HTTP_HOST} !newsite.com$ [NC]
RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx
【问题讨论】:
-
将您的最后一个重定向规则移动到
RewriteEngine On行的正下方。 -
@anubhava 感谢您的帮助,我更改了 .htaccess 文件底部的重定向并更新了上面的代码。该站点通常从xx.xx.xx.xx 和ec2-xx-xx-xx-xx.us-west-1.compute.amazonaws.com 重定向,但不幸的是它仍然不会重定向像xx.xx.xx.xx/page1 这样的页面。我可以添加任何其他规则来启用此功能吗?
标签: .htaccess redirect amazon-ec2 http-redirect