【发布时间】:2019-07-22 02:38:09
【问题描述】:
我正在尝试将旧域重定向到新域。这些页面具有相同的名称,例如/my-amazing-page,但在新网站上,URL 将是 /se/my-amazing-page。
例如,我需要一个重定向规则
olddomain.se/recipes/[ALL RECIPE PAGES]
到
newdomain.com/se/recipes/[ALL RECIPE PAGES]
我在 Stack Overflow 上尝试了许多答案以及here 描述的解决方案,但我无法让它们中的任何一个起作用。他们似乎所做的只是将旧域重定向到新域的主页(根),而忽略子目录和页面。
目前我正在使用以下内容:
RewriteCond %{HTTP_HOST} ^olddomain\.com/recipes/$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/se/recipes/$1 [R=301,L]
但是如前所述,这只是将我重定向到新域的主页。是的,我已经清除了浏览器缓存,并且正在浏览器中以隐身模式进行测试。 我当前的完整 HTaccess 文件:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress
RewriteCond %{HTTP_HOST} ^olddomain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/recipes/
RewriteRule ^recipes/(.*)$ https://newdomain.com/se/recipes/$1 [R=301,L]
【问题讨论】:
-
旧域和新域在同一个服务器吗?
-
@MohammedElhag 如果我理解正确,是的,新旧域都指向同一个服务器。
-
以上所有规则都在新域目录中,对吗?我的意思是这个 htaccess 在两个域的主根目录中还是在新域目录中?
-
@MohammedElhag 此 Htaccess 位于新域的目录中。
-
尝试将重定向规则放在旧目录中,可以吗?