我的htaccess
文件出了问题。该文件的最后一部分应该重定向
filip.novotny.je
到/subdom/filip/
。
当URL以斜杠结尾时,一切都很好但是当它没有时,它会在地址栏中显示丑陋的子域目录。有谁知道为什么会这样?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.novotny.je$ [NC]
RewriteRule ^(.*)$ http://novotny.je/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.filip.novotny.je$ [NC]
RewriteRule ^(.*)$ http://filip.novotny.je/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^novotny.je$ [nc]
RewriteRule ^(.*)$ http://filip.novotny.je/$1 [r=301]
# cele domeny (aliasy)
# RewriteCond %{REQUEST_URI} !^/domains/
# RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
# RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
# RewriteRule (.*) /domains/%2/$1 [L]
# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) /subdom/%2/$1 [L]
答案 0 :(得分:1)
我最近有一个非常类似的问题,但在IIS7中。这是我的解决方案,转换为.htaccess语法。我希望它适合你。
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
基本上,条件是请求是一个目录,重写匹配所有没有尾部斜杠的请求,并以尾部斜杠输出。
答案 1 :(得分:0)
只需添加重写规则即可在每个网址后添加斜杠。像
这样的东西RewriteCond %{REQUEST_URI} ^([^+?&]+[^/])$
RewriteRule ^([^+?]+[^/])$ $1/ [R,L]
在您提供的所有规则之前添加此内容。这会将所有网址从a.com/b
转换为a.com/b/