htaccess将当前url重定向到自身,但包括一个子文件夹



我希望所有对没有子文件夹的页面的请求都重定向到同一个URL,但包括子文件夹(实际上子文件夹并不存在,出于seo原因,我只需要将其附加到我的URL)。

current.mysite.com
current.mysite.com/pages/some-awesome-page
current.mysite.com/news/category/some-article

应该全部重定向到

current.mysite.com/ru/
current.mysite.com/ru/pages/some-awesome-page
current.mysite.com/ru/news/category/some-article

我尝试了这个解决方案:

RewriteEngine On
RewriteRule ^(.*) http://newdomain.com/$1 [R=301]

但我最终得到了这个:

http://current.mysite.com/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/pages

这是我的htaccess:

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*) http://current.site.com/ru/$1 [R=301]
#RewriteBase /
#RewriteRule ^index.php$ - [L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]

# END WordPress

</IfModule>

我如何完成这项任务?

编辑:

感谢@Croises的回答,我能够把所有的东西放在一起,这意味着使用wordpress htaccess文件,你需要与这里完全相同的行顺序(即wordpress重定向前的自定义重定向):

<IfModule mod_rewrite.c>
RewriteEngine On
# Begin custom redirect 
RewriteCond %{THE_REQUEST} !s/+ru/ [NC]
RewriteRule ^ /ru%{REQUEST_URI} [R=301,NE,L] 
RewriteRule ^ru(/.*)$ $1 [NC,L] 
# End custom redirect
# Begin Wordpress magic
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# End Wordpress magic
</IfModule>

使用更改代码(RewriteRule)

RewriteCond %{THE_REQUEST} !s/+ru/ [NC]
RewriteRule ^ /ru%{REQUEST_URI} [R=301,NE,L] 
RewriteRule ^ru(/.*)$ $1 [NC,L] 

最新更新