将整个子目录重定向到域

时间:2018-03-30 17:40:11

标签: .htaccess redirect

我正在尝试将整个子目录重定向到我们的主域。

基本上是这样的链接:

  • https://garrysun.com/dev/ayurveda-products/categories/ayurvedic-ghee-clarified-butter?limit=15
  • https://garrysun.com/dev/
  • https://garrysun.com/dev/ayurveda-products/

所有人都应该去

https://garrysun.com/

我们正在使用OpenCart 2.3.0.2

我试过了:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/dev/(.*)$
RewriteRule ^(.*) https://garrysun.com/ [R=301,NC]

RewriteRule ^dev/(.*)$ https://garrysun.com [R=301,NC,L]

但似乎都不起作用。什么是使这项工作最好的.htaccess规则?

2 个答案:

答案 0 :(得分:0)

内部/dev/.htaccess有这条规则:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?garrysun\.com$ [NC] 
RewriteRule ^ https://garrysun.com/? [R=301,L]

根据响应标头,您的网络服务器似乎是Nginx。对于Nginx,请使用此规则:

location ~ ^/dev/ {
    return 301 https://garrysun.com/?;
}

答案 1 :(得分:0)

我使用了这个重定向:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ /$1 [R=301,L]

问题是,如果主网站中不存在该页面,我会收到404错误。

例如: 这:https://garrysun.com/dev/777-oil-psoriasis 成为:https://garrysun.com/777-oil-psoriasis 我收到404错误,因为主页上不存在该页面。

这有效: https://garrysun.com/dev/ayurveda-products/ 变为: https://garrysun.com/ayurveda-products/ 因为新网站有该页面。