постоянное перенаправление URL с .html и без .html - PullRequest
0 голосов
/ 29 октября 2011

Я делаю некоторые постоянные перенаправления URL через .htaccess

Я использую следующий код:

Redirect permanent /someurl.html http://thedomain.com/newurl.html

Я бы хотел, чтобы редирект применялся к URL, которые заканчиваются на .htmlи что заканчивается не .html

пример

Redirect permanent /someurl.html http://thedomain.com/newurl.html
Redirect permanent /someurl http://thedomain.com/newurl.html

Как можно достичь этого без двух строк (есть ли способ сокращения)?

Спасибо,

Ответы [ 3 ]

2 голосов
/ 29 октября 2011

Вместо этого вы можете использовать RedirectMatch директиву . Он эквивалентен Redirect, но использует регулярные выражения.

Ваше правило будет выглядеть так:

RedirectMatch permanent someurl($|\.html) http://thedomain.com/newurl.html

Надеюсь, это поможет.

2 голосов
/ 29 октября 2011

Я не уверен, что вы можете использовать регулярные выражения в Redirect заявлениях, но если вы можете, это должно работать:

Redirect permanent /someurl(.html)? http://thedomain.com/newurl$1

Если вы не можете, вместо этого должен работать RewriteRule:

RewriteRule ^someurl(.html)?$ http://thedomain.com/newurl$1 [L,R=301]
1 голос
/ 29 октября 2011

или вы можете просто перенаправить по папке

Redirect permanent /one http://example.com/two

Примерно так

Прочитайте документацию / руководство здесь.http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect

...