Apache 如何将一个目录中的所有文件重定向到另一个目录?

Apache 如何将一个目录中的所有文件重定向到另一个目录?,apache,.htaccess,Apache,.htaccess,我已将服务器上的文件移动到新目录,并希望301将所有请求重定向到新目录中的文件 假设我有: domain.com/test/apples.php domain.com/test/oranges.php domain.com/test/bananas.php 如何将它们重定向到: domain.com/apples.php domain.com/oranges.php domain.com/bananas.php 无需单独重定向每个文件?假设您使用的是带有mod_rewrite的服务器,请

我已将服务器上的文件移动到新目录,并希望301将所有请求重定向到新目录中的文件

假设我有:

  • domain.com/test/apples.php
  • domain.com/test/oranges.php
  • domain.com/test/bananas.php
如何将它们重定向到:

  • domain.com/apples.php
  • domain.com/oranges.php
  • domain.com/bananas.php

无需单独重定向每个文件?

假设您使用的是带有mod_rewrite的服务器,请在根目录中创建一个名为“.htaccess”的文件,并插入以下内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^test/(.*) http://domain.com/$1 [R=301,L]
</IfModule>

重新启动发动机
重写基/
重写规则^test/(*))http://domain.com/$1[R=301,L]
请注意,这将把测试目录中的每个文件重写到您插入的域中

如果只想重定向.php文件,请使用:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^test/(.*).php http://domain.com/$1.php [R=301,L]
</IfModule>

重新启动发动机
重写基/
重写规则^test/(*).phphttp://domain.com/$1.php[R=301,L]
注意事项:
别忘了将domain.com更改为您的域名,而且这种类型的重定向将产生一个永久重定向文件url的功能(这将帮助搜索引擎更新您的链接)。

假设您使用的是带有mod_rewrite的服务器,请在根目录中创建一个名为“.htaccess”的文件并插入以下内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^test/(.*) http://domain.com/$1 [R=301,L]
</IfModule>

重新启动发动机
重写基/
重写规则^test/(*))http://domain.com/$1[R=301,L]
请注意,这将把测试目录中的每个文件重写到您插入的域中

如果只想重定向.php文件,请使用:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^test/(.*).php http://domain.com/$1.php [R=301,L]
</IfModule>

重新启动发动机
重写基/
重写规则^test/(*).phphttp://domain.com/$1.php[R=301,L]
注意事项:
别忘了将domain.com更改为您的域名,而且这种类型的重定向将成为永久重定向文件url的有效方法(这将有助于搜索引擎更新您的链接。

您必须使用301吗?您还可以将mod_rewrite与regex一起使用。您可能需要:您必须使用301吗?您还可以将mod_rewrite与regex一起使用。您可能需要的东西: