如何使用.htaccess将WordPress站点重定向到新域除了特定页面

时间:2016-08-31 04:05:59

标签: wordpress .htaccess redirect url-rewriting

我的公司已将我们的主要域名从 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规则,并尝试了几十种代码组合而没有成功。

0 个答案:

没有答案