我的公司已将我们的主要域名从 architectsmarketing.com 移至 archmarketing.org ,并使用相同的WordPress页面结构重新创建了许多新页面 WordPress 主题。
但是,有些网页相当复杂,并且取决于旧主题的功能,所以我们现在更愿意将这些网页保留在旧网站上。
我们正在使用.htaccess
为网站执行301 Redirect
,这很有效:
RewriteEngine on
RewriteBase /
RewriteRule (.*) http://archmarketing.org/$1 [R=301,L]
由于我们希望能够访问后端,我添加了一个条件:
RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-login|wp-content|wp-includes|dap) [NC]
要正常访问网站页面(没有重定向)以与新网站进行比较,我有时会添加一个条件来排除我的特定IP地址,这非常有效:
RewriteCond %{REMOTE_HOST} !^73.222.196.53
棘手的部分是当我试图保持一些WordPress页面仍然进入原始网站时。例如,以下是我要在旧网站上访问的网页网址:
http://architectsmarketing.com/petrie-method/optin-1/
我尝试过使用以下条件:
RewriteCond %{REQUEST_URI} !^/(petrie-method).*$
这与页面匹配并将其从RewriteRule中排除,但它不允许正确解析页面URL。相反,该URL会重定向到新站点的根目录。
总而言之,我目前的代码(没有IP排除)并不是很有效:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-login|wp-content|wp-includes|dap) [NC]
RewriteCond %{REQUEST_URI} !^/(petrie-method).*$
RewriteRule (.*) http://archmarketing.org/$1 [R=301,L]
注意:这一切都高于标准的WordPress重写块。
我非常感谢任何帮助。我几个小时都在研究.htaccess
规则,并尝试了几十种代码组合而没有成功。