Как удалить косую черту в конце URL субдомена в htaccess?

В настоящее время, когда делается запрос для URL-адреса, который не является каталогом, мой .htaccess настроен на удаление любой завершающей косой черты. Проблема в том, что test.domain.com/order.php/ перенаправляется на test.domain.com/test/order.php вместо test.domain.com/order.php. Он отлично работает, когда не в поддомене.

Вот код .htaccess, который я использую для удаления завершающих косых черт:

    #if it's not a directory
    RewriteCond %{REQUEST_FILENAME} !-d
    #and it has a trailing slash, then redirect to URL without slash
    RewriteRule ^(.+)/$ /$1 [L,R=301]

Каким-то образом подкаталог, из которого обслуживается поддомен, добавляется к URL-адресу в дополнение к уже существующему поддомену. Как убрать косую черту без добавления /test?

Редактировать:

Вот полный .htaccess:

    RewriteEngine On

    Options +SymLinksIfOwnerMatch
    Options -Indexes
    RewriteBase /

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

person CLL    schedule 26.05.2014    source источник
comment
В этом файле есть еще правила или это единственное?   -  person anubhava    schedule 26.05.2014
comment
Добавлен полный контент htaccess в пост   -  person CLL    schedule 26.05.2014
comment
Если это находится в DocumentRoot родительского домена, оно не будет выполняться для субдомена (если только субдомен не настроен правильно). Можете ли вы показать запись VirtualHost для поддомена?   -  person anubhava    schedule 26.05.2014
comment
Не думаю, что у меня есть к нему доступ — сайт находится на общем сервере. Однако, основываясь на вашем ответе, я поместил правило в файл htaccess подкаталога, и теперь оно работает по назначению. Благодарю вас!   -  person CLL    schedule 26.05.2014


Ответы (1)


Увидев комментарий Анубхавы под моим вопросом, я решил поместить правило удаления завершающей косой черты в файл .htaccess в подкаталог поддомена. Я также запрещаю правилу в корневом каталоге документа .htaccess влиять на подкаталог (поскольку у него есть собственное правило):

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{HTTP_HOST} !^test\. [NC]
    RewriteRule ^(.+)/$ /$1 [L,R=301]

Теперь он работает так, как задумано для основного сайта, а также для поддомена.

person CLL    schedule 26.05.2014