将所有 url 索引重写到子文件夹



我有一个网站,其中包含许多子文件夹,并且存在重复内容的问题,例如:https://example.com/sub1/和 https://example.com/sub1/index.html。如何将所有内容重写为仅子文件夹,请参阅而不带索引。

这可能是您要查找的:

RewriteEngine on
RewriteRule ^/?(.*)index.html /$1 [END]

该规则同样适用于 http 服务器的主机配置或主机DOCUMENT_ROOT内的动态配置文件(".htaccess"(。出于各种原因,如果可能的话,您应该始终首选第一个变体。

如果您使用上述规则更改收到服务器内部错误(http status 500(,则您操作的是一个非常旧版本的apache http服务器。在这种情况下,您将在服务器的错误日志文件中看到对不受支持的 END 标志的明确引用。请尝试改用 L 标志。它可能工作相同,尽管这有点取决于您的实际设置。

在 .htaccess 文件顶部检查此规则

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/index.(html|htm)$ /$1/ [R=301,L]