我无法构建301重定向重写规则来从域名中删除WWW并从URL中删除斜杠。
提前感谢您的帮助。
示例:
www.domain.com/ to domain.com
domain.com/ to domain.com
domain.com/page/ to domain.com/page
domain.com/page.php to domain.com/page
我的代码:
RewriteCond %{HTTP_HOST} ^(www.)?domain\.com$ [NC]
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^/(.*)/$ /$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
答案 0 :(得分:1)
您可以使用:
body
{
font-size: 17px;
background: url(https://www.tcia.org/images/TCIExpo/backgrounds/back-a3.jpg)
top center no-repeat;background-attachment: fixed;
background-color: #aaba59;
width: 100%;
height: 100%;
position: absolute;
}
请注意,这不会从现有目录中删除尾部斜杠。当您请求现有目录时,Apache会添加一个尾部斜杠。如果要删除此斜杠,则需要在htaccess
中使用以下指令RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^ http://example.com%{REQUEST_URI} [NE,L,R]
#remove trailing slash
RewriteRule ^(.+)/$ /$1 [L,R]
#remove .php ext
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]
这告诉apache忽略斜线,您可以使用或不使用尾部斜线访问现有的目录。