如何通过htaccess重定向主页和其他一些页面

时间:2015-07-02 11:09:24

标签: regex apache .htaccess mod-rewrite redirect

我想将域重定向到另一个具有不同CMS的域。 我可以在某些条件下重定向所有页面。例如,如果请求URL包含一些关键字,则重定向到新的登录页面。 但我无法将主页网址重定向到新网址。当我将主页重定向到新URL时,其他重定向条件不起作用。

这是我在.htaccess文件中的代码。如果我删除第一行,我的重定向工作正常!但是没有重定向主页。

另一个问题是我的条件只适用于完全匹配的网址。如果我的关键字之前和之前存在任何字符,则重定向不起作用。

# BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^$ http://targetdomain.com/ [L,NC,R=301]
RewriteRule (^|/)قطعات-دستگاه-های(/|$) http://targetdomain.com/list/water-purification-accessories/ [L,NC,R=301]
RewriteRule (^|/)مقالات-تخصصی(/|$) http://targetdomain.com/articles/technical-articles/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-آب-صنعتی(/|$) http://targetdomain.com/list/industrial-water-treatment/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-اب-صنعتی(/|$) http://targetdomain.com/list/industrial- water-treatment/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-اب-خانگی(/|$) http://targetdomain.com/list/household-water-treatment/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-آب-خانگی(/|$) http://targetdomain.com/list/household-water-treatment/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-اب(/|$) http://targetdomain.com/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-آب(/|$) http://targetdomain.com/ [L,NC,R=301]
RewriteRule (^|/)تصفیه-هوا(/|$) http://targetdomain.com/list/air-purifier/ [L,NC,R=301]
RewriteRule (^|/)قطعات(/|$) http://targetdomain.com/list/water-purification-accessories/ [L,NC,R=301]
RewriteRule (^|/)مقالات(/|$) http://targetdomain.com/articles/ [L,NC,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

# END WordPress

0 个答案:

没有答案