如何使用 .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
),否则规则会导致无限循环错误。
我正在尝试使用 .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
),否则规则会导致无限循环错误。