Помогите с mod rewrite

12
[Удален]
#11
neolord:
Так нельзя, ибо между слешами не должно быть других слешей.
А что там про большие буквы я не понял?

и вот это зачем? RewriteCond %{REQUEST_FILENAME} !-f
Все используют но мало кто понимает.

RewriteCond %{REQUEST_FILENAME} !-f

чтобы не переписать путь до существующего файла, например robots.txt ;)

[Удален]
#12

ну если маска такой файл точно не допускает (когда например в конце стоит слеш), то оно явно лишнее. А так вообще запомню =). Кстати еще на заметку мод_рерайтерам - обнаружил однажды в своей цмс проблему на хосте руцентра. Там нужно прописывать опцию -Indexes, иначе такие запросы как /style/ , /robots/ автоматически перебрасывают на style.css и robots.txt назависимо от перехвата через хтакцес или в скрипте. Бред =)

[Удален]
#13
neolord:
ну если маска такой файл точно не допускает (когда например в конце стоит слеш), то оно явно лишнее. А так вообще запомню =). Кстати еще на заметку мод_рерайтерам - обнаружил однажды в своей цмс проблему на хосте руцентра. Там нужно прописывать опцию -Indexes, иначе такие запросы как /style/ , /robots/ автоматически перебрасывают на style.css и robots.txt назависимо от перехвата через хтакцес или в скрипте. Бред =)

не бред. почитайте про deprecated (я так считаю) mod_negotiate. я бы выхерил нахер этот модуль из всех апачей. гавно устаревшее. используется для многоязычности сайтовЭ написано в 95ых наверное. вот этот говномодуль как раз берет на себя рерайтинг до мод рерайта, отдает файл более подходящий под запрос. бред. руцентр - говнохостинг раз его не выключают.

bearman добавил 27.10.2008 в 00:05

neolord:
ну если маска такой файл точно не допускает (когда например в конце стоит слеш), то оно явно лишнее. А так вообще запомню =). Кстати еще на заметку мод_рерайтерам - обнаружил однажды в своей цмс проблему на хосте руцентра. Там нужно прописывать опцию -Indexes, иначе такие запросы как /style/ , /robots/ автоматически перебрасывают на style.css и robots.txt назависимо от перехвата через хтакцес или в скрипте. Бред =)

в тему про руцентр))

http://phpdude.ru/archives/95

Givandos
На сайте с 25.06.2007
Offline
33
#14

Ребята, есть траблы:

RewriteEngine On

RewriteBase /
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?lang=$1&page=$2 [L]

тут все работает на ура (адрес http://домен.ру/ru/2.html.

Визуально создаеться видимость размещения страниц сайта на других языках в подкаталогах.

Но, это при условии, что есть переменная lang (язык сайта). А она есть только в том случае, когда язык сайта не по-умолчанию. То есть, если просто открываем сайт, то он загружается с языком по-умолчанию (украинский у меня, но разницы нет), и в GET-окружении данная переменная не используется. А вот при смене языка и появляется $lang со значением "ru" в моем случае.

Подскажите, как можно решить проблему.

Сам вижу два пути:

1. Передавать переменную независимо от того, какая версия сайта открывается. Плохой вариант, так как появятся адреса типа http://домен.ру/ua/2.html , что испортит весь замысел.

2. Делать проверку на язык по-умолчанию, и подставлять немного измененое правило RewriteRule, а точнее

RewriteRule ^([^/]*)\.html$ /index.php?page=$2 [L]

Но тут не знаю как :( Зато вариант хороший

S
На сайте с 07.11.2008
Offline
152
#15

А языков много?

Givandos
На сайте с 25.06.2007
Offline
33
#16

seolancer

Языков в данный момент два, будет три, но по-идее должно быть любое кол-во, хоть 10 :) Все хранятся в базе.

12

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