如何使用 .htaccess 重定向,同时保持原来的 URL

How to use .htaccess to redirect while maintaining the original URL

我正在尝试使用 .htacces 文件将目录中的任何文件或子文件夹重定向到一个文件,同时仍保持原始 URL 输入。

所以如果用户去:

https://example.com/folder1/folder2/folder3/
or
https://example.com/folder1/folder2/file.php

它会将他们重定向回:

https://example.com/folder1/index.php

但原始 URL 输入不会改变。

你可以制作:

RedirectMatch 301 ^https://example.com/folder1/ https://example.com/folder1/index.php

This allows you to redirect from the first url in the pattern to the second one

您可以使用 RewriteRule 。在文档根目录的 htaccess 中添加以下规则:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/folder1/index\.php$ [NC]
RewriteRule ^folder1/.+$ /folder1/index.php [L]

这会将 /folder1/foo/bar 重定向到 /folder1/index.php,而不更改浏览器中的 url。
上面的 RewriteCond 确保您不会将 /folder1/index.php 重写为自身 (/folder1/index.php),否则规则会导致无限循环错误。