htaccess переписать карту сайта XML и удобную карту сайта - PullRequest
5 голосов
/ 06 июля 2011

У меня есть два сценария:

  • xmlsitemap.php (карта сайта Google XML)
  • sitemap.php (карта сайта с удобным графическим интерфейсом)

Я хочу добиться этого с помощью правил перезаписи:

Переписать на site.com/sitemap.php
site.com/sitemap
site.com/sitemap/

Переписать на site.com/xmlsitemap.php
site.com/sitemap.xml

Вот что я попробовал. Проблема в том, что он переписывает sitemap.xml в sitemap.php (GUI).

Options +FollowSymlinks
RewriteEngine On

RewriteRule sitemap.xml xmlsitemap.php
RewriteRule sitemap sitemap.php

# also tried using [L] option on both

1 Ответ

7 голосов
/ 06 июля 2011

Прежде всего, повторно добавьте флаг [L].Во-вторых, если одно правило заменяет другое, проверьте регулярное выражение правил перезаписи, чтобы сделать их более подходящими, как весь запрос:

RewriteRule ^sitemap\.xml$ xmlsitemap.php [L]
RewriteRule ^sitemap$ sitemap.php [L]

Флаг L не позволит запустить дополнительные правила, если одно уже найдено (но все еще может вызвать внутреннее перенаправление, см. также флаг END вместо флага L ).

...