0

我正在尝试将旧站点 (wellnowwhat.net/nin/*.*) 上的所有页面重定向到新站点 (sykonaut.net/nin_old/) 的索引。我只能访问新站点的 .htaccess (旧站点归朋友所有),所以我正在测试相反的方向。我可以使用 mod_rewrite 将根目录 (sykonaut.net) 重定向到他的根目录 (wellnowwhat.net),但我无法将 nin_old 目录重定向到他的 nin 目录。我猜我也无法重定向相反的方向。这是我的 .htaccess 中的 [全部] 代码:

AddHandler php5_2-wrap .php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.sykonaut.net$ [NC]
RewriteRule ^/nin_old(.*)$ http://www.wellnowwhat.net/nin [R,NC,L]

这没用。有谁知道为什么?

4

2 回答 2

1

将你.htaccess的放在nin_old目录中。

RewriteEngine on
RewriteBase /nin_old
RewriteRule ^.* http://www.wellnowwhat.net/nin/ [R,NC,L]

当您重定向到目录的外部 URL 时,我会添加尾部斜杠,因为这会减少额外的重定向。

此外,当您测试所有内容并且一切正常时,请更改RR=301,因为大多数搜索引擎都首选永久重定向。

于 2012-07-16T03:54:53.387 回答
0

在 apache 2.0 和更高版本中,前缀(前导“/”)在通过 .htaccess 文件中的规则的重写引擎放入之前从 URI 中删除。尝试从规则中的正则表达式中删除前导斜杠:

RewriteRule ^nin_old(.*)$ http://www.wellnowwhat.net/nin [R,NC,L]
于 2012-07-16T03:43:59.947 回答