0

我需要我的网站从这个网址重定向:

mysite.com/old/dir/param1/param2/...

mysite.com/dir/param1/param2/...

我需要保留参数,只需删除 url 中的“旧”。

如何将此规则添加到我的 .htaccess?

谢谢!!!

这是我的.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On

RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

    RewriteRule ^old/dir/(.*) mysite.com/dir/$1 [R=301,L]
</IfModule>
4

2 回答 2

0

你可以这样写。

Rediret 301 mysite.com/old/dir/param1/param2/(.*) mysite.com/dir/param1/param2/$1

如果您打算重定向 to 的整个目录,old/dirdir/尝试以下操作:

Redirect 301 mysite.com/old/dir/(.*) mysite.com/dir/$1

您可以尝试的下一个选项是 URL 重写。

假设您已打开 Rewrite Engine 并设置了 Rewrite Base,请添加以下行:

RewriteRule ^old/dir/(.*) mysite.com/dir/$1 [R=301,L]
于 2012-10-11T16:48:02.470 回答
0

正确的规则是

我必须把它放在所有其他规则之前。所以我的 .htaccess 看起来像:

<IfModule mod_rewrite.c>
    RewriteEngine On

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


    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

不管怎么说,还是要谢谢你!:)

于 2012-10-11T17:29:55.020 回答