Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
Apache Htaccess将URL重定向到另一个URL并删除字符_Apache_.htaccess_Redirect - Fatal编程技术网

Apache Htaccess将URL重定向到另一个URL并删除字符

Apache Htaccess将URL重定向到另一个URL并删除字符,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我希望将旧网站重定向到新网站,URL如下所示:https://test.fr/directory/homepage.html 在.htaccess文件中,我有: RedirectPermanent / https://google.com/` 但它的作用是:https://google.com/directory/homepage.html 我想重定向到https://google.com/并删除.com/之后的所有内容,但我不知道如何删除。只需使用重写模块: RewriteEngine on

我希望将旧网站重定向到新网站,URL如下所示:
https://test.fr/directory/homepage.html
在.htaccess文件中,我有:

RedirectPermanent / https://google.com/`
但它的作用是:
https://google.com/directory/homepage.html


我想重定向到
https://google.com/
并删除
.com/
之后的所有内容,但我不知道如何删除。

只需使用重写模块:

RewriteEngine on
Rewrite ^ https://google.com/ [R=301,END]
显然,重写模块需要加载到http服务器中。这通常是这样的,当然对所有托管提供商来说都是如此

如果只想在http主机内重定向该特定URL,则应执行以下操作:

RewriteEngine on
Rewrite ^/?directory/homepage\.html$ https://google.com/ [R=301,END]

您可以在分布式配置文件(“.htaccess”)中实现这些指令。不过,如果您有权访问实际http服务器的主机配置,您应该更喜欢该配置。

只需使用重写模块:

RewriteEngine on
Rewrite ^ https://google.com/ [R=301,END]
显然,重写模块需要加载到http服务器中。这通常是这样的,当然对所有托管提供商来说都是如此

如果只想在http主机内重定向该特定URL,则应执行以下操作:

RewriteEngine on
Rewrite ^/?directory/homepage\.html$ https://google.com/ [R=301,END]

您可以在分布式配置文件(“.htaccess”)中实现这些指令。不过,如果您有权访问,您应该更喜欢实际http服务器的主机配置。

请在您的问题中共享您的htaccess规则文件,谢谢。请在您的问题中共享您的htaccess规则文件,谢谢。你为什么在重定向规则上使用
END
标志?@AmitVerma不久前,我自己也很惊讶,没有
L
END
标志,重定向并不总是有效。我不知道为什么。。。从文档中我了解到,外部重定向总是会立即终止重写过程,这可能是有意义的。但正如我所说的:我偶然发现了两个案例,没有终止标志,这是行不通的。为什么。@AmitVerma是的,它与这里的
L
标志具有相同的效果。我通常更喜欢
END
标志,因为它对我来说更透明。很清楚将会发生什么。Arakscha,我经常在不同版本的Apache上测试带或不带标志的重写规则,但我从来没有看到任何区别。即使您不使用标志,规则也同样有效。@AmitVerma谢谢。这也是我的理解。我记得大约三年前,当我偶然发现两个案例时,我感到非常惊讶,这两个案例确实产生了影响。不幸的是,我不记得细节了。我的错。你为什么在重定向规则上使用
END
标志?@AmitVerma不久前,我自己很惊讶,没有
L
END
标志,重定向并不总是有效。我不知道为什么。。。从文档中我了解到,外部重定向总是会立即终止重写过程,这可能是有意义的。但正如我所说的:我偶然发现了两个案例,没有终止标志,这是行不通的。为什么。@AmitVerma是的,它与这里的
L
标志具有相同的效果。我通常更喜欢
END
标志,因为它对我来说更透明。很清楚将会发生什么。Arakscha,我经常在不同版本的Apache上测试带或不带标志的重写规则,但我从来没有看到任何区别。即使您不使用标志,规则也同样有效。@AmitVerma谢谢。这也是我的理解。我记得大约三年前,当我偶然发现两个案例时,我感到非常惊讶,这两个案例确实产生了影响。不幸的是,我不记得细节了。我的错。