.htaccess URL重定向,干净的URL,尾随斜杠,强制www

时间:2013-06-27 23:24:02

标签: .htaccess web clean-urls trailing-slash

所以我将我的一个域名(我们称之为domain.com)重定向到我的一个子目录(我们称之为文件),我正在尝试实现减少索引的链接?page = ,强制使用www,并为所有页面提供尾部斜杠。

目前我有

domain.com/index?page=about或domain.com/splash

我想要www.domain.com/about/或www.domain.com/splash /

这是我到目前为止所做的:

RewriteEngine On

RewriteCond %{HTTP:Host} ^(?:www\.)?domain\.com$ 
RewriteCond %{REQUEST_URI} !^/file/ 
RewriteRule ^(.*) file/$1 [NC,L,NS]

ErrorDocument 404 http://domain.com/splash

如果你不知道,我不熟悉Apache,哈哈。

1 个答案:

答案 0 :(得分:0)

我会选择:

RewriteEngine On

RewriteCond   %{HTTP:Host}        !^www\.domain\.com$
RewriteRule   ^(.*)$              http://www.domain.com/$1 [L,R=301]

RewriteCond   %{REQUEST_FILENAME} !-f
RewriteRule   ^([\w\-]+)$         /$1/ [L,R=301]

RewriteCond   %{REQUEST_FILENAME} !-f
RewriteRule   ^(.*)$              /index.php?page=$1       [L]

ErrorDocument 404                 /splash/

在调试阶段,请小心使用302(临时)重定向而不是301(永久)重定向,因为您的浏览器会记住"永久重定向,而不考虑您网站的新配置。