Reputation: 833
I need to write an .htcaccess file that will meet the following conditions:
1) redirect site.com to www.site.com
2) redirect site.com/forum/index.php to www.site.com/forum (no trailing slash)
3) redirect site.com/forum/ to www.site.com/forum (no trailing slash)
4) redirect *site.com/wiki/index.php?title=Main_Page* to site.com/wiki (no trailing slash)*
5) redirect all 404s to site.com
Additionally, I need a second version of .htaccess for temporary use that will meet the conditions above with the following modifications
*6) redirect site.com or www.site.com to www.site.com/forum (no trailing slash)
*7) redirect all 404s to www.site.com/forum (no trailing slash)
Thanks for the help!
Upvotes: 0
Views: 353
Reputation: 7866
Version 1:
RewriteEngine On
RewriteBase /
# 1) redirect site.com to www.site.com
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [L,R]
# 2) redirect site.com/forum/index.php to www.site.com/forum (no trailing slash)
# 3) redirect site.com/forum/ to www.site.com/forum (no trailing slash)
RewriteRule ^forum/(index.php)?$ forum [L]
# 4) redirect *site.com/wiki/index.php?title=Main_Page* to site.com/wiki (no trailing slash)*
RewriteCond %{REQUEST_URI} ^wiki/index\.php$
RewriteCond %{QUERY_STRING} ^title=Main_Page$
RewriteRule .* wiki [L]
# 5) redirect all 404s to site.com
ErrorDocument 404 /
Version 2:
# 6) redirect site.com or www.site.com to www.site.com/forum (no trailing slash)
RedirectMatch ^/$ http://www.site2.com/forum
# 7) redirect all 404s to www.site.com/forum (no trailing slash)
ErrorDocument 404 forum
Upvotes: 1