Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

htaccess rewrite XML sitemap and user friendly sitemap

I have two scripts:

  • xmlsitemap.php (Google XML sitemap)
  • sitemap.php (GUI user friendly sitemap)

I want to achieve this with rewrite rules:

Rewrite to site.com/sitemap.php
site.com/sitemap
site.com/sitemap/

Rewrite to site.com/xmlsitemap.php
site.com/sitemap.xml

Here is what I have tried. The problem is it's rewriting sitemap.xml to sitemap.php (GUI).

Options +FollowSymlinks
RewriteEngine On

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

# also tried using [L] option on both
like image 456
Chris Avatar asked Jul 06 '11 07:07

Chris


1 Answers

First of all, re-add the [L] flag. Second, if one rule supersedes the other, check your rewrite rules regex to make them better matching, like the whole request:

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

The L flag will prevent to run additional rules if one already matched (but still can trigger an internal redirect, see as well the END flag instead of the L flag).

like image 178
hakre Avatar answered Sep 27 '22 20:09

hakre