Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在维护原始URL的同时使用.htaccess重定向_.htaccess_Mod Rewrite_Url Redirection_Url Masking - Fatal编程技术网

如何在维护原始URL的同时使用.htaccess重定向

如何在维护原始URL的同时使用.htaccess重定向,.htaccess,mod-rewrite,url-redirection,url-masking,.htaccess,Mod Rewrite,Url Redirection,Url Masking,我试图使用.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 ^h

我试图使用.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
这允许您从模式中的第一个url重定向到 第二个


您可以使用
重写规则
。在文档根目录的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
),否则该规则可能会导致无限循环错误。

可能会输入无限多个URL,我希望原始URL输入保留在地址栏中。你是说以开头的URL应该被重定向?这是真的吗?我想要example.com/folder1/之后的任何内容重定向到example.com/folder1/index.php。这很好。我删除了folder1并将其添加到folder1中的.htaccess文件中:
RewriteCond%{REQUEST_URI}上的RewriteEngine^index\.php$[NC]RewriteRule^.+$index.php[L]