- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите пожалуйста:
есть URL: site.ru/index.php/razdel/
хочу URL: site.ru/razdel/
Предлагают:
1. Как я понимаю это автоматом проверяет, где надо и не надо переименовывать и уже на ходу решает. Так ли это?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f (это проверяет есть ли такой файл и если есть не переименовывает URL? Так?)
RewriteCond %{REQUEST_FILENAME} !-d (это проверяет есть ли такая директория и если есть не переименовывает URL? Так?)
RewriteRule ^(.*)$ /index.php/$1 [L]
2. Явное указание директорий где НЕнужно переименование:
RewriteEngine on
RewriteCond $1 !^(images|system|themes|favicon\.ico|robots\.txt|index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
Какой из этих методов вы посоветуете использовать? Первый мне мниться более предпочтительным, но боюсь как бы он не сильно сервер загрузил ;-( Запросов должно быть много (посещаемость сайта 12.000+ хостов в сутки).
Большое всем спасибо.
Мое мнение:
1) работает так: если файла или директории нет, то передать обработку index.php, на этом закончить
2) выглядит более предпочтительным, ибо проверяет по сути одну "маску", а не две. Работает быстрее.
И я не уверен, что RewriteCond будет работать, может все-таки не $1, а {REQUEST_URI} ?
для реврайта нужно писать так:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
работает на ура. В index.php нужно анализировать переменную $_SERVER['REQUEST_URI']... т.е. запрашиваемый путь будет в ней..
P.S. Erick Flatcher, перегрузить не должно. кстати, неужели Вы думаете, что Apache потратит намного больше времени на проверку существования файла или каталога, чем на парсинг всех Ваших условий реврайта?
больше спасибо, наверное все же остановлюсь на первом варианте...
а существуют ли какие то минсы использования мод реврайта? как я понимаю, с точки зрения SEO все должно быть нормально?
Да все должно быть без проблем.
Я бы еще рекомендовал поставить первый вариант, затем потестить stress test или вообще любым тестером.
Поставить другой вариант и потестить. Сравнить и сделать выводы о целесообразности того или иного варианта, скорости и нагрузке. :)
Сказывают, мол, в первом варианте плохо то, что он обращается к файловой структуре... однако все равно начну с первого, а если будут проблемы - перейду на второй...
Всем спасибо.
напишите, плиз, потом как прошел тест...
я бы советовал второй вариант,
т.к. дисковая подсистема везде является самой тормозной частью...
но xtremest дело говорит, stress test расставит все точки над Ъ.
да, но в unix-системах сведения о наличии файлов и директорий кешируются... так что не факт.. ждем результатов теста...
скоро сделаю... как раз на днях все свое хозяйство на рельсы нового движка переведу (именно по этому поводу урлы реврайчу) и протестирую...
:-(
и то и другое тормозит... тоесть прежде чем открыть страницу сервер 2-3 секунды думает ;-(
проблема именно в этом, так как обычные урлы прекрасно работают