.htaccess,强制斜线和www

时间:2010-07-11 16:29:26

标签: .htaccess

有人可以帮我强迫我的网站重定向到使用www。并且总是在任何页面的末尾添加斜杠?我的htaccess文件目前看起来像这样:

RewriteEngine on

RewriteRule blog/date/([^/]+)/?$ index.php?page=viewblog&date=$1
RewriteRule blog/([^/]+)/?$ index.php?page=viewblog&category=$1
RewriteRule blog/([^/]+)/([^/]+)/?$ index.php?page=viewblog&category=$1&title=$2

RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([a-zA-Z0-9]+)

非常感谢提前:)

2 个答案:

答案 0 :(得分:3)

这适用于任何域:

DirectorySlash on
RewriteCond %{HTTP_HOST} !^www [NC]
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [L]

这将在必要时添加斜杠。 (%{REQUEST_URI}/请求root,或/whatever如果您请求domain.com/whatever。)不会放入两个像其他解决方案一样,为主域斜杠(//)。 DirectorySlash指令确保即使www已存在,也会在适当的位置添加斜杠。

答案 1 :(得分:0)

我不知道如何添加尾部斜杠,但在URL前添加www非常简单。 这是我用来在网址前添加www的内容:

RewriteEngine on

Options FollowSymlinks

rewritecond %{http_host} ^yourdomain.com [nc]

rewriterule ^(.*)$ http://www.yourdomain.com/$1 [r=301,nc]

用Google搜索尾随斜线,发现这篇文章:http://www.mydigitallife.info/2007/03/19/add-trailing-slash-to-the-end-of-the-url-with-htaccess-rewrite-rules/

希望这会有所帮助: - )