我需要编写一个符合以下条件的.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 (没有斜杠)
感谢您的帮助!
答案 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