powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Прошу помощи с mod_rewrite
6 сообщений из 6, страница 1 из 1
Прошу помощи с mod_rewrite
    #38933738
poiuytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги,

нужно чтобы при клиентском запросе /test/xx/ веб-серверу передавался адрес /test/additional/хх/, в браузере клиента по-прежнему должен быть адрес /test/xx/ и прямой запрос клиента на /test/additional/хх/ возвращал бы ошибку 404.

Слышал что можно при подмене адреса добавлять параметр, и потом проверять его, но с реализацией у меня проблема.

Такая конструкция приводит к смене адреса в браузере пользователя

Код: php
1.
2.
3.
RewriteBase /
RewriteCond %{REQUEST_URI} ^/test/([a-z0-9]{2})/$
RewriteRule .* /test/additional/%1/?HTACCESS_SECRET [QSA]



А такая не работает

Код: php
1.
2.
3.
RewriteBase /
RewriteCond %{REQUEST_URI} ^/test/([a-z0-9]{2})/$
RewriteRule .* /test/additional/%1/?HTACCESS_SECRET [L]
...
Рейтинг: 0 / 0
Прошу помощи с mod_rewrite
    #38933931
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
poiuytrewqТакая конструкция приводит к смене адреса в браузере пользователя

Код: php
1.
2.
3.
RewriteBase /
RewriteCond %{REQUEST_URI} ^/test/([a-z0-9]{2})/$
RewriteRule .* /test/additional/%1/?HTACCESS_SECRET [QSA]

Смена адреса - это редирект. А редирект - это опция [R], которой тут нет. Возможно, есть ещё какое-то правило или код в скрипте, откуда этот редирект выполняется.

Да, вот ещё момент. Насколько оправдано тут присутствие опции передачи параметров [QSA], которой нет во втором варианте?
...
Рейтинг: 0 / 0
Прошу помощи с mod_rewrite
    #38935897
poiuytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleСмена адреса - это редирект. А редирект - это опция [R], которой тут нет. Возможно, есть ещё какое-то правило или код в скрипте, откуда этот редирект выполняется.

Совершенно верно, редирект был в скрипте.

vkleНасколько оправдано тут присутствие опции передачи параметров [QSA], которой нет во втором варианте?

Параметр нужен чтобы определить, имеет ли место замена адреса, либо прямой переход по ссылке.

Моя задача решена, если интересно:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
RewriteBase /

RewriteCond %{REQUEST_URI} ^/test/([a-z0-9]{2})/$ [NC]
RewriteRule .* /test/additional/%1/?HTACCESS_SECRET [L,QSA]

RewriteCond %{REQUEST_URI} ^/test/additional/([a-z0-9]{2}/)? [NC]
RewriteCond %{QUERY_STRING} !HTACCESS_SECRET
RewriteRule .* [L,R=404]
...
Рейтинг: 0 / 0
Прошу помощи с mod_rewrite
    #38936593
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
poiuytrewqvkleНасколько оправдано тут присутствие опции передачи параметров [QSA], которой нет во втором варианте?

Параметр нужен чтобы определить, имеет ли место замена адреса, либо прямой переход по ссылке.

Моя задача решена, если интересно:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
RewriteBase /

RewriteCond %{REQUEST_URI} ^/test/([a-z0-9]{2})/$ [NC]
RewriteRule .* /test/additional/%1/?HTACCESS_SECRET [L,QSA]

RewriteCond %{REQUEST_URI} ^/test/additional/([a-z0-9]{2}/)? [NC]
RewriteCond %{QUERY_STRING} !HTACCESS_SECRET
RewriteRule .* [L,R=404]

Достаточно простой и эффективный способ реализации. Однако, есть сомнения и лень проверять.... Что будет, если в URL "левого" запроса будет присутствовать фрагмент "HTACCESS_SECRET"? Вроде как, должно пропустить.
...
Рейтинг: 0 / 0
Прошу помощи с mod_rewrite
    #38937711
poiuytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleДостаточно простой и эффективный способ реализации. Однако, есть сомнения и лень проверять.... Что будет, если в URL "левого" запроса будет присутствовать фрагмент "HTACCESS_SECRET"? Вроде как, должно пропустить.

Конечно пропустит, если параметр будет равен "HTACCESS_SECRET", но фишка в том что его никто не знает, кроме того, этот параметр можно усложнить, например "SECRET_9725190156224". Ну, и, наконец, данный функционал нужен исключительно для SEO, для избежания дублей страниц, никаких проблем с безопасностью/производительностью раскрытие секретного параметра в любом случае за собой не несет.
...
Рейтинг: 0 / 0
Прошу помощи с mod_rewrite
    #38937845
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
poiuytrewqданный функционал нужен исключительно для SEOА, тады понятно. Эти сеошники... вечные сочинители.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Прошу помощи с mod_rewrite
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]