的.htaccess。重写条件重定向

时间:2011-04-06 14:15:15

标签: apache .htaccess

如何从中进行重定向 site.com/ru/blablabla to site.com/blablabla ??

如果在链接site.com/en/blablabla服务器返回404,还有一个, 然后我需要重定向到site.com/blablabla

我的.htaccess:

    ########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

######### MY RULES #########
RewriteCond %{REQUEST_URI} \/ru\/(.*)
RewriteRule (.*)$ /%1

2 个答案:

答案 0 :(得分:0)

首先: 在.htaccess文件的顶部添加RewriteEngine on


尝试此规则: ru 404

ErrorDocument 404 /error404.php

RewriteCond %{REQUEST_URI} \/ru\/(.*)
RewriteRule (.*)$ /%1

在那种情况下(英文版)我建议你检查errordocument中的HTTP_REFERER(在上面的例子中是error404.php)...并将请求重定向到相应的页面...(在你的情况下是/ blablabla)< / p>

希望你明白我的意思.. :)

答案 1 :(得分:0)

您可以删除######### MY RULES ######### 行下的所有行并输入以下行:

RewriteRule ^(en|ru)/(.*)$ /$2 [R,L]

这将处理/ ru / foo和/ en / foo URL。