Jump to content
  • Sign Up

Tok13

Newbie
  • Posts

    10
  • Joined

  • Last visited

About Tok13

  • Birthday 02/16/1991

Information

  • Sex
    Мужчина

Tok13's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Спасибо огромное за подсказку, rus)) Просто я в php не профессионал, это только на слабом средненьком уровне, поэтому и не знал, что могу с помощью php проверить именно request_uri (то, что введено в адресной строке) и в соответствии с этим склеить страницы. Думал, что SCRIPT_NAME в этом случае совпадает с REQUEST_URI, и всё это зациклится, но оказалось, что средствами php организовать то, что я хочу, намного проще. Эти переменные принимают разные значения, поэтому я спокойно с помощью htaccess могу направлять сразу все запросы на одну страницу default.html, а на ней уже проверять request_uri и в зависимости от этого осуществлять перенаправление. Спасибо вам большое за наводку))) Как будет код, напишу сюда то, что получилось)
  2. У меня это и сделано элементарно. Но перед этим я добиваюсь ЧПУ в адресной строке браузера. Я знаю, что можно всякую фигню направлять на индекс пхп, но для начала хочу все одиночные пробелы заменить на чёрточки, запретить ввод разных символов и заменить все многочисленные идущие подряд слеши на один. Видимо, уже выяснил, но исходную причину назвать не могу. Кто-то пишет про особенности протокола HTTP/1.1 в одной из статей и про различия значения переменных request_uri в .htaccess и в php. Проверил, всё именно так. php видит многочисленные слеши, даже если они введены после имени домена, а вот .htaccess нет.
  3. Иначе говоря, чисто средствами php я ведь не добьюсь единой точки входа в систему, потому что пользователь может ввести в адресной строке всё, что угодно, а это всё, что угодно сначала должно преобразоваться к ЧПУ в адресной строке, а потом уже все запросы должны перенаправиться на default.html, где уже пойдёт разбор ссылки из массива GET. Если чисто средствами php, то не получится, потому что по этой схеме придётся на бесконечно возможном множестве вводимых страниц держать код php с перенаправлениями. Если же отправлять все запросы сразу на главную страницу в параметре GET, не меняя ссылки в браузере, смысл опять теряется, потому что потом php всё равно это всё обработает и должен будет вновь перезагрузить страницу, чтобы .htaccess снова отправил на ту самую главную страницу то, что будет в адресной строке. Конечно, так можно делать, но мне кажется, что перезагрузка страницы средствами php получится ещё медленнее.
  4. И ещё вопрос.. А разве код на php не будет жрать ресурсы сервера или будет жрать не так много?
  5. А через php у меня есть возможность разве сделать так, чтобы запросы шли на страницу default.html, но при этом в адресной строке отображалось то, что ввёл пользователь?
  6. В Вашем коде по этим условиям обработаются абсолютно все ссылки, не являющиеся директориями, у которых на конце обнаружен слеш. Но мне нужно убрать слеш после имени домена или сделать перезагрузку страницы единожды, используя, возможно, переменные, но у меня лично условия переменных проверяются коряво. Вообще, вот все условия по перенаправлениям моего файла .htaccess на данный момент: Всё прекрасно работает. На что тут следует обратить внимание, так это на часть кода: #Заменяем // на /RewriteCond %{REQUEST_URI} ^(.*\.com/)?(.*?)/{2,}(.*?)(/-)?$ [NC]RewriteRule (.*) %2/%3/- [NC,N,L]С помощью этого кода удаляются ВСЕ двойные пробелы (проверено), КРОМЕ тех, что стоят после имени домена, прямо за именем домена. Проверка будто их и не видит вовсе, а воспринимает это множество слешей после имени домена как один слеш, поэтому конкретные условия на множественные слеши после имени домена у меня просто не срабатывали. В соответствии с этим и вопрос... Как решить проблему и в чём может быть причина такого поведения? От множественного слеша после имени домена избавляет лишь редирект страницы на саму себя. Тогда вместо множества слешей образуются один. Но в таком случае проблема как раз в написании условия, потому что нет никаких отличительных особенностей такой REQUEST_URI, чтобы я мог единожды запустить этот редирект. На двойку не обращайте внимания, потом заменю все двойки на символ пробела, это лишь для тестирования условий.
  7. Здравствуйте! У меня такой вопрос возник по причине того, что на моём хостинге, управляемым сервером apache, после имени домена можно добавить бесконечное число слешей, и сайт всё равно открывается. Пример: http://имя_моего_домена//////имя_директорииХотелось бы убрать все эти слеши так, чтобы было перенаправление на страницу без слешей, т.е. http://имя_моего_домена/имя_директорииНо проблема в том, что rewriterule правила не видят множество слешей именно после имени домена и избавиться от них можно, только пользуясь одним редиректом на ту же страницу (R=301). В связи с этим вопрос. Если нельзя проверить никакие особые условия по содержанию самой uri, то каким ещё образом можно выполнить редирект только один раз во всём цикле обработки, а при возвращении к первому правилу обработки условий после редиректа просто пропускать существующий редирект каждый последующий раз?
  8. Тут не нашёл, как файл прикрепить. Загрузил через ifolder. Там папка со всем необходимым по этой проблеме. CSS файл, необходимые изображения и html файл. Вот ссылка на скачивание: http://rusfolder.com/34701390 В разных браузерах при уменьшении масштаба по-разному. Где одна вертикальная полоска исчезнет, где другая, где обе. Если это невозможно исправить, то уж смирюсь, но если как-то можно, подскажите, пожалуйста)) Когда верстал это всё таблицей, вроде таких проблем с исчезновениями не было, а как начал блоками - начались. Исчезает в firefox и в ie в основном. В chrome крайние вертикальные полосы остаются, но исчезают вертикальные полоски, разделяющие текст) Нормальный масштаб: Уменьшенный масштаб:
  9. Каких img?? Для бекраунда же указания top bottom left и т.д. и означают процентное заполнение относительно каких-то сторон. Т.е. растягивается-то всё растягивается и даже повторяется, но те элементы, которые имеют сами по себе маленькую длину или ширину исчезают при уменьшении масштаба)
  10. Здравствуйте! Проблема такая. Делаю background в блоках DIV, в бекграунде сразу три изображения по спецификации css3, всё нормально отображается и работает, но только тогда, когда масштаб стандартный, т.е. 100%. Когда в браузере уменьшаю масштаб, то тех бекграундовых изображений, у которых ширина 1px становится не видно. Так и должно быть или от этого как-то можно избавиться, чтобы всё отображалось даже при уменьшении масштаба? Не знаю, что сюда привести... ну, вот css код того блока, в котором исчезает: .cont_verh_svitok_part2_center_fon { display:inline-block; padding:0; margin:0; border:0; outline:none; overflow:hidden; width:189px; font:12pt Palatino Linotype,verdana,arial,helvetica; vertical-align:top; text-align:center; background:url(images/formochki_table/main_left_stolb/verh_svitok_part2_center.gif) no-repeat center top, url(images/formochki_table/main_left_stolb/palka_horizontal_niz.gif) no-repeat bottom, url(images/formochki_table/main_left_stolb/palka_vertical.gif) repeat-y left top, url(images/formochki_table/main_left_stolb/palka_vertical.gif) repeat-y right top, url(images/fons/fons_left_stolb/fon_left_stolb_1.jpg) repeat; background-origin: content-box; background-clip: content-box; background-size: auto; }
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy