VirtuosiMedia
VirtuosiMedia

Reputation: 53356

A simple htaccess redirect

How would I write a redirect rule that would let me use both http://www.site.com/rss and http://www.site.com/anydirectory/rss rather than http://www.site.com/rss.xml and http://www.site.com/anydirectory/rss.xml ?

I think I'm close, but for some reason, it's a Monday.

RewriteRule ^(.*)/rss.\xml/$ $1/rss [L]

Upvotes: 0

Views: 992

Answers (3)

Patrick McElhaney
Patrick McElhaney

Reputation: 59271

It sounds like you have the XML files, and you want to make URIs without the XML extension work.

# translate /rss to /rss.xml
RewriteRule ^rss$ /rss.xml 

# translate /anydirectory/rss to /anydirectory/rss.xml
RewriteRule ^(.+)/rss$ /$1/rss.xml 

The code you tried suggests the opposite.

# translate /rss.xml to /rss
RewriteRule ^rss\.xml$ /rss 

# translate /anydirectory/rss to /anydirectory/rss.xml
RewriteRule ^(.+)/rss\.xml$ /$1/rss 

Upvotes: 1

Sean Bright
Sean Bright

Reputation: 120644

I think this is what you want (you have them reversed):

RewriteRule ^(.+/)?rss$ $1rss.xml [L]

Upvotes: 2

CoderDennis
CoderDennis

Reputation: 13837

This is a guess, but it looks like you intended to escape the . and that is done with \. instead of .\

RewriteRule ^(.*)/rss\.xml$ $1/rss [L]

Upvotes: 1

Related Questions