我有一个问题,子目录有许多不同的路径,但在新网站上,我们不再使用这种结构。老网站是这样工作的:
example.com/photos/photo-1
example.com/photos/photo-2
example.com/photos/photo-3在我们的新站点上,我们没有使用/photos,并且我当前的重定向尝试没有起作用
Redirect 301 /photos https://example.com/最终重定向到
example.com/photo-1
example.com/photo-2
example.com/photo-3正在删除照片子目录,但仍在尝试访问它后面的子目录。
任何访问example.com/photos或example.com/photos/*的尝试都应重定向到example.com/上的主页
任何帮助都将不胜感激。
发布于 2021-05-20 03:50:30
这个应该可以了。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^photos/(.+) https://example.com/ [R=301,L]
</IfModule>发布于 2021-05-20 03:52:42
这可能是最有意义的方法:
RewriteEngine on
RewriteRule ^/?photos/[^/]+/(.+)$ https://example.com/$1 [R=301]它使用重写模块,这意味着必须将其加载到http服务器中。不过,这是标准设置。
如果不是所有的子文件夹都需要重定向,你可以命名一个模式。这允许出现异常。例如:
RewriteEngine on
RewriteRule ^/?photos/photo-\d/+(.+)$ https://example.com/$1 [R=301]如果两个主机对于新旧“站点”都是相同的,您可以使用内部重定向来简化操作:
RewriteEngine on
RewriteRule ^/?photos/photo-\d/+(.+)$ /$1 [R=301]通常,您应该尝试在实际的http服务器的主机配置中实现这样的规则。如果您没有访问中央配置的权限,则仅使用分布式配置文件(".htaccess")。各种各样的原因。
https://stackoverflow.com/questions/67609697
复制相似问题