- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, мое гугление сегодня похоже дало сбой:
вот смотрите: есть некоторый url
я хочу чтобы в site.dom/lol/index.php передался параметр ff@ff
делаю редирект, с ним все хорошо
RewriteRule (.*@.*) site.dom/lol/index.php?ttt=%{REQUEST_URI}но как мне сделать чтобы пользователь увидел в адресной строке снова site.dom/lol/ff@ff а не site.dom/lol/index.php?ttt=ff@ff ?
моя главная цель: воспользоваться в php значением "ff@ff" без изменения конечного вида запроса
делаю редирект, с ним все хорошо
вы уверены, что вы это попробовали? потому что эта строчка работает так как вы хотите. юзверь видит один урл, а скрипт получает другой.
если вы после этой строки [R] поставите, тогда будет browser redirect
вы уверены, что вы это попробовали? потому что эта строчка работает так как вы хотите. юзверь видит один урл, а скрипт получает другой.
если вы после этой строки [R] поставите, тогда будет browser redirect
да. адрес меняется (может быть потому что ff@ff это папка) и в phpinfo() тоже можно увидеть мой запрос
RewriteRule @ /lol/index.php?ttt=%{REQUEST_URI} [L]
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
Absolute URL
If an absolute URL is specified, mod_rewrite checks to see whether the hostname matches the current host. If it does, the scheme and hostname are stripped out and the resulting path is treated as a URL-path. Otherwise, an external redirect is performed for the given URL. To force an external redirect back to the current host, see the [R] flag below.
RewriteRule @ /lol/index.php?ttt=%{REQUEST_URI} [L]
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
к сожалению я не понял что значит текст по ссылке, флаг [L] ничем не помогает, немогли бы вы объяснить поподробней?
Вам выше написали как должен выглядеть реврайт для вашего случая, если не понятен текст по ссылки.
Объяснить поподробнее не смогу, боюсь подробнее чем там написано все равно не получатся. Юзайте гугл транслейт, или читайте русские статьи на тему мод реврайта если нужны подробности. А текст из документации был процитирован на случай если вы все таки знакомы с переводчиком. Если нет, просто воспользуйтесь готовым решением.
Вам выше написали как должен выглядеть реврайт для вашего случая, если не понятен текст по ссылки.
он не возвращает меня на /lol/ff@ff а перенаправляет на /lol/index.php?ttt=%{REQUEST_URI}
а вот если набирать /lol/ff@ff/ то все ок. Спасибо!
p.s. для случая без слеша на конце происходит сначала редирект на файл со слешем на конце
RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ /lol/$1/ [L,R=301]
RewriteRule @ /lol/index.php?ttvtp=%{REQUEST_URI} [L]
он не возвращает меня на /lol/ff@ff а перенаправляет на /lol/index.php?ttt=%{REQUEST_URI}
Вас не должно вообще никуда перенаправлять.
а вот если набирать /lol/ff@ff/ то все ок. Спасибо!
Это что-то из ваших правил, реврайт никакое отношение к слэшем не имеет.
Возможно, в процессе прошлых экспериментов браузер "закешировал" редирект и теперь перенаправляет вас без запроса к серверу. Попробуйте другой браузер, почистить историю, добавить что-то рандомное в запрос или использовать Ctrl+Enter (не везде работает).
Возможно, в процессе прошлых экспериментов браузер "закешировал" редирект и теперь перенаправляет вас без запроса к серверу. Попробуйте другой браузер, почистить историю, добавить что-то рандомное в запрос или использовать Ctrl+Enter (не везде работает).
по воду того что закешировал редирект - это так, и при изменниях в htaccess ничего не менялось.
но я проверил свои слова в приватном режиме - все именно так, как я описал.
---------- Добавлено 12.03.2014 в 19:16 ----------
Возможно, в процессе прошлых экспериментов браузер "закешировал" редирект и теперь перенаправляет вас без запроса к серверу. Попробуйте другой браузер, почистить историю, добавить что-то рандомное в запрос или использовать Ctrl+Enter (не везде работает).
напишу еще раз свой ответ ( мне кажется он непонятным):
браузер действительно кеширует редирект, и, независимо от того что изменилось в htaccess бразуер перенаправлял меня туда, куда не надо.
но я проверил в режиме приватного просмотра ссылки со слешем и без.
без слеша меня перенаправляет на /lol/index.php?ttt=%{REQUEST_URI} а с ним, я остаюсь на месте, при этом в переменную ttt записывается %{REQUEST_URI}
без слеша меня перенаправляет на /lol/index.php?ttt=%{REQUEST_URI} а с ним, я остаюсь на месте
Без слеша вас должно перенаправлять сюда /lol/%path%/
Если перенаправляет куда-то еще, значит капайте другие правила.
но я проверил в режиме приватного просмотра ссылки со слешем и без.
Лично я не могу поручится за режим приватного просмотра, так что советую проверять на уникальные ссылки которые вы браузере еще не открывали.