9

我在子文件夹 ( http://mydomain.com/subfolder/index.php )中有网站内容,现在我将所有内容复制到根文件夹 ( http://mydomain.com/index.php )。

我想使用 .htaccess 将所有为旧页面添加书签的访问者重定向到新内容(至少到新的 index.php)。

这个对吗:

RewriteEngine on
RewriteRule /subfolder/^(.*)$ http://mydomain.com [R=301,L]

?

我应该将 .htaccess 文件放在子文件夹还是根文件夹中?

4

5 回答 5

30

将以下内容.htaccess放入/(您的 index.php 所在的位置)应该可以解决问题:

RewriteEngine on
RewriteRule ^subfolder/(.*)$ /$1 [R=301,L]

或者您可以将以下内容.htaccess放入/subfolder

RewriteEngine On
RewriteRule ^(.*)$ /$1 [R=301,L]

请注意,()周围.*$1重定向/subfolder/someFile.php/someFile.php. 如果您跳过它,所有内容都会/subfolder重定向到/.

于 2013-02-05T14:55:37.520 回答
2

这可以解决问题:

RedirectMatch 301 ^/subfolder$ http://yourdomain.tld/
于 2019-02-04T09:20:06.327 回答
2

感谢评论中的@mariusnn,我能够解决这个问题。


❌ 不工作:.htaccess 从子文件夹重定向到域名

RewriteEngine on

RewriteRule ^subfolder/(.*)$ /$1 [R=301,L]

工作:.htaccess 重定向整个子域“/subdomain/”和文件“/subdomain/file_01.php”被重定向到域名“example.com”

RewriteEngine on

RewriteRule ^subfolder/.*$ / [R=301,L]

*请注意,()周围.*$1重定向/subfolder/someFile.php/someFile.php. 如果您跳过它,所有内容都会/subfolder重定向到/.

于 2018-06-30T09:17:31.757 回答
1

尝试:

RewriteEngine On
RewriteRule ^subfolder/index.php$ /index.php[NC,L,R]
于 2015-09-06T06:24:54.747 回答
0

在这里尝试了所有答案。这对我有用:

RewriteEngine on
RewriteBase /
RewriteRule ^subfolder/(.*)$ /$1 [R=302,NC,L]

在您验证更改后更改R=302为。R=301

于 2019-01-31T01:55:27.173 回答