2

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

因此,如果用户访问:

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

它会将它们重定向回:

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

但原始 URL 输入不会改变。

4

2 回答 2

1

您可以使用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),否则该规则可能会导致无限循环错误。

于 2019-04-08T17:10:47.983 回答
0

你可以只做:

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

这允许您从模式中的第一个 url 重定向到第二个

于 2019-04-08T16:21:42.863 回答