Простой вопрос по htaccess

Independence
На сайте с 29.10.2005
Offline
428
869

На виртуальном хостинге к одной папке привинчено 2 домена (com и ru). Для COM сделана отдельная подпапка (comcontent), где лежит англоязычный контент.

В htaccess прописано следующее:

RewriteRule ^comcontent/ - [L]

RewriteCond %{HTTP_HOST} (www\.)?domain\.com [NC]

RewriteRule (.*) comcontent/$1 [L]

В папке comcontent тоже есть свои папки (ну, напр., /moscow/, /omsk/).

Вводим адрес domain.com/moscow/ - все нормально.

Вводим адрес без слэша на конце типа domain.com/moscow - и он его показывает как domain.com/comcontent/moscow/ (то есть добавляет comcontent и слэш на конце)

В самой папке comcontent тоже есть htaccess, но там Rewrite rule никаких не прописано.

Как сделать, чтобы и когда domain.com/moscow вводилось бы, то адрес страницы показывался бы без добавления /comcontent/ (можно и без добавления слэша на конце)?

Попробовал разные варианты, но что-то не вышло у меня.

V
На сайте с 25.07.2006
Offline
128
#1

Это результат работы модуля mod_dir. Почитайте про него в доке, как он обрабатывает trailing slash

В вашем случае нужно его отключить через DirectorySlash Off, а потом придумывать rewrite-правила, для его замены.

Например, проверять, есть ли директория, к которой идет обращение через RewriteCond с ключем -d, и если она есть, то делать рерайт на файл типа index.html в этой директории.

Приватный linux-администратор
Independence
На сайте с 29.10.2005
Offline
428
#2

Я вчера экспериментировал по этой доке - http://www.crucialwebhost.com/blog/htaccess-apache-rewrites-oh-my/ - и не очень-то получилось

Там есть пример http://www.domain.com/index.php/blog/my-first-article/ , где удаляется index.php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php/$1 [L]

Сделал также, только вместо index.php прописал comcontent и что-то ничего. И другие варианты, что там есть, перепробовал.

Andreyka
На сайте с 19.02.2005
Offline
822
#3

Рерайт - это вуду.

Не стоит плодить сущности без необходимости
S
На сайте с 01.04.2008
Offline
91
#4

А не проще разнести это дело на два вирт. хоста в две не вложенные папки? От сильно замороченных правил mod_rewrite можете сильно нагрузить и без того прожорливый апач.

Править домен летит Айболит. И одно только слово твердит: - DNS! DNS! DNS!
Independence
На сайте с 29.10.2005
Offline
428
#5

Там просто страниц совсем мало, чтобы для этого отдельные субдомены делать, котоых в наличии итак ограниченное количество. А разве modrewrite сильно грузит сервер?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий