.htaccess поддомен в каталог: проблема с косой чертой - PullRequest
1 голос
/ 29 июня 2011

У меня проблема с моим htaccess файлом.Последняя часть файла должна перенаправлять filip.novotny.je на /subdom/filip/.Когда URL заканчивается косой чертой, все в порядке, но когда это не так, в адресной строке обнаруживается уродливый каталог поддоменов.Кто-нибудь знает, почему это может быть?

Попробуйте сами здесь: с x без завершающий слеш

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]

Ответы [ 2 ]

1 голос
/ 29 июня 2011

У меня недавно была очень похожая проблема, но в IIS7.Вот мое разрешение, преобразованное в синтаксис .htaccess.Я надеюсь, что это работает для вас.

RewriteCond %{REQUEST_FILENAME}  -d
RewriteRule ^(.+[^/])$  $1/  [R]

По сути, условие состоит в том, что запрос является каталогом, а перезапись соответствует всем запросам без завершающей косой черты и выводит с завершающей косой чертой.

0 голосов
/ 29 июня 2011

Просто добавьте правило перезаписи, чтобы добавить косую черту после каждого URL. Что-то вроде

RewriteCond %{REQUEST_URI}  ^([^+?&]+[^/])$
RewriteRule ^([^+?]+[^/])$ $1/  [R,L]

Добавьте это, прежде чем все правила, которые вы дали. Это преобразует все URL из a.com/b в a.com/b/

...