1

Я хочу перенаправить свои 301 URL-адреса на другие URls. Ниже случаи:301 Перенаправление с использованием htaccess Regex

xyz.com/html/german = xyz.com/de 
xyz.com/german = xyz.com/de 

еще один случай:

xyz.com/html/german/subpage.html = xyz.com/de/subpage 

Любая одна помощь по этому вопросу?

Я попытался с Regex, но это не работает:

Вот что я пробовал:

RewriteRule ^/de/([^/.]+)$ html/german/$1 [L] 
+0

Ваш вопрос и указанное правило в замешательстве. Какие URL-адреса вы хотите отображать в браузере? – anubhava

+0

Это довольно просто, я хочу перенаправить свои 301 Urls (перечисленные выше) на определенную страницу. Пожалуйста, проверьте приведенные выше примеры. Позвольте мне объяснить один из них. : xyz.com/html/german следует перенаправить на xyz.com/de xyz.com/german следует перенаправить на xyz.com/de –

ответ

1

Ваше правило фактически делает обратное. Попытайтесь эти правила переадресации:

RedirectMatch 301 ^/(html/)?german/?$ /de 

RedirectMatch 301 ^/(?:html/)?german/([^.]+)(?:\.html)?$ /de/$1 
+0

Hi @anubhava, Не работает. Проблема теперь http://example.com/html/german/subpage/ перенаправляет на это http://example.com/de/html/german/subpage/. но это должно быть так http://example.com/de/subpage/ Можете ли вы помочь мне в достижении этого? –

+0

ok проверить мои обновленные правила сейчас. – anubhava

+0

Он все еще не работает. есть ли какие-либо возможности, связанные с htacces? –

0

Снимите ведущую косую черту от перезаписи шаблона:

Try:

RewriteRule ^de/?$ html/german/ [NC,L] 
RewriteRule ^de/([^/.]+)/?$ html/german/$1 [NC,L] 
+0

Благодарим за сообщение. Он работает только для нижнего регистра xyz.com/html/german = xyz.com/de Для этого xyz.com/german он принимает меня на xyz.com/de/german, и это неверно. xyz.com/html/german/subpage.html собирается ниже xyz.com/de/de/subpage. которое неверно –