如何使用htaccess将子文件夹中的所有文件重定向到根目录

how to redirect all files in a subfolder to root directory with htaccess

我有一个类似 www.example.com/comments/a/word1.html 的目录 我从 link 中删除了 comments/a/ 部分和 .html 以及 htaccess。在 a 文件夹下,我有很多文件,如 word1.html、word2.html、word3.html,我想像这样重定向所有这些文件: www.example.com/word1 www.example.com/word2 www.example.com/word3

我正在使用这个 .htaccess 代码:

RewriteEngine on
RewriteRule ^/?comments/a/(.*)(/|\.html)?$ / [R=301,L] 
RequestCond %{DOCUMENT_ROOT}/comments/a%{REQUEST_URI}.html -f 
RewriteRule ^/?(.*)/? /comments/a/.html [END] 

但我收到错误消息“找不到 404 页面,无法在此服务器上找到所请求的资源!”。在这种情况下我能做什么?有什么方法可以将 www.example.com/comments/a/word1.html word2-3-4 等也重定向到 www.example.com/word1

作为我研究的结果,我找到了这样的解决方案:

##Rewrite non /comments/a/ links internally start##
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/comments/a/.html -f
RewriteRule ^/?([^.?]+)$/?$ comments/a/.html [L,NC]
##Rewrite non /comments/a/ links internally end##

这段代码对我来说很有魅力。