htaccess URL неверное перенаправление - PullRequest
0 голосов
/ 13 февраля 2012

Я хочу перенаправить

  • /about
  • /about/
  • /about.html
  • /about.html/
  • /weare/
  • /weare
  • /weare.html
  • /weare.html/

Все эти страницы должны быть перенаправлены на about.html и я хочу сделать это с .htaccess.

Я пытался

RewriteRule ^(about|weare).*/ about.html [R=Permanent]

Это несколько работает, но не совсем то, что я хочу.Он также перенаправляет некоторые другие страницы.

Я добавил, как сказал ThinkingMonkey

Если вы хотите сделать постоянное перенаправление:

    RewriteCond %{REQUEST_URI} !^/about\.html$ [NC]
    RewriteRule ^(about|weare)(\.html)?/?$ about.html [L,R=301]

Это работает, но этоидет по бесконечному циклу.

Ответы [ 2 ]

1 голос
/ 13 февраля 2012

Сделайте это:

RewriteRule ^(about|weare)(/|\.html/?)?$ about.html [L]

Если вы хотите сделать постоянное перенаправление:

RewriteCond %{REQUEST_URI} !^/about\.html$ [NC]
RewriteRule ^(about|weare)(\.html)?/?$ about.html [L,R=301]
0 голосов
/ 13 февраля 2012

RewriteRule ^((about|weare)(.|/)?(html)?) about.html [NC]

...