我需要从此网址重定向我的网站:
mysite.com/old/dir/param1/param2/...
到
mysite.com/dir/param1/param2/...
我需要保留参数,只需删除网址中的“旧”。
如何将此规则添加到我的.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>
答案 0 :(得分:0)
你可以这样写。
Rediret 301 mysite.com/old/dir/param1/param2/(.*) mysite.com/dir/param1/param2/$1
如果您打算将old/dir
的整个目录重定向到dir/
,请尝试以下操作:
Redirect 301 mysite.com/old/dir/(.*) mysite.com/dir/$1
您可以尝试的下一个选项是Url Rewriting。
假设您已设置重写引擎并已设置重写基础,请添加以下行:
RewriteRule ^old/dir/(.*) mysite.com/dir/$1 [R=301,L]
答案 1 :(得分: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>
非常感谢! :)
答案 2 :(得分:-1)
你必须在mysite.com/old/dir/param1/param2 /中创建一个.htaccess文件。 并把它放在你的档案中:
Redirect 301 / http://example.com/