0

我需要编写一个满足以下条件的 .htcaccess 文件:

1) 将site.com重定向到www.site.com

2) 将site.com/forum/index.php重定向到www.site.com/forum(没有尾部斜杠)

3) 将site.com/forum/重定向到www.site.com/forum(没有尾部斜杠)

4) 将 *site.com/wiki/index.php?title=Main_Page* 重定向到site.com/wiki(没有尾部斜杠)*

5) 将所有 404 重定向到site.com

此外,我需要第二个版本的 .htaccess 以供临时使用,该版本将满足上述条件并进行以下修改

*6) 将site.comwww.site.com重定向到www.site.com/forum(没有尾部斜杠)

*7) 将所有 404 重定向到www.site.com/forum(没有尾部斜杠)

谢谢您的帮助!

4

1 回答 1

1

版本 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 /

版本 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
于 2012-06-26T11:26:05.443 回答