.htaccess论坛文件

时间:2012-06-26 04:01:59

标签: .htaccess

我需要编写一个符合以下条件的.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.com www.site.com 重定向到 www.site.com/forum (无尾随斜杠)

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

感谢您的帮助!

1 个答案:

答案 0 :(得分: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