我正在尝试将整个子目录重定向到我们的主域。
基本上是这样的链接:
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规则?
答案 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/ 因为新网站有该页面。