<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Сложная замена URL в nginx или htaccess ?</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html</link>
    <description>Подскажите как решить задачку с подменой URL и где лучше в nginx или htaccess ?&lt;br&gt;&lt;br&gt;Нужно вместо страницы&lt;br&gt;http://site.ru/page?filter=&amp;fd13=105&lt;br&gt;переадресовать пользователя на страницу:&lt;br&gt;http://site.ru/page/subpage&lt;br&gt;Но показать ему при этом содержимое из:&lt;br&gt;http://site.ru/page?filter=&amp;fd13=105&amp;code=m&lt;br&gt;&lt;br&gt;&lt;br&gt;Если в общем случае, то это будет звучать как:&lt;br&gt;1) если URL заканчивается параметром &quot;?filter=&amp;fd13=105&quot;, то надо в адресной строке заменить этот параметр на &quot;/subpage&quot;&lt;br&gt;2) и далее следом если URL заканчивается на /subpage, то надо показать данные c URL что вызывается, но в котором заменено &quot;/subpage&quot; на &quot;?filter=&amp;fd13=105&amp;code=m&quot;&lt;br&gt;&lt;br&gt;Ну и чтобы при этом зацикливания не произошло, хотя вроде и не должно...&lt;br&gt;&lt;br&gt;Если просто напрямую вызовут URL заканчивающийся на /subpage, то естественно тоже чтобы 2-ое правило отработало.&lt;br&gt;</description>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (eRIC)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#16</link>
    <pubDate>Thu, 25 Jun 2015 15:19:26 GMT</pubDate>
    <description>в этом круговороте редиректов :) я вижу только вот такой смысл реализации:&lt;br&gt;&lt;br&gt;1- если URI = /page?filter=&amp;fd13=105&lt;br&gt;2- замени/редирект что переехал URI на /page/subpage и обратись&lt;br&gt;3- URI /page/subpage проксирует запрос на URI /temp (/temp дублирующий код, для того чтобы цикла не было)&lt;br&gt;4- URI /temp выдает код что и код URI /page?filter=&amp;fd13=105&amp;code=m (по сути два разных файла скрипта)&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#15</link>
    <pubDate>Thu, 25 Jun 2015 15:03:59 GMT</pubDate>
    <description>афтар, больше не пиши сюда ....&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (anstrem)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#14</link>
    <pubDate>Thu, 25 Jun 2015 14:59:54 GMT</pubDate>
    <description>&amp;gt;&amp;gt; ! Н Е В О З М О Ж Н О !&lt;br&gt;&lt;br&gt;А вот так будет ?&lt;br&gt;&lt;br&gt;&lt;br&gt;.htaccess&lt;br&gt;&lt;br&gt;RewriteEngine on&lt;br&gt;RewriteCond &#037;&#123;REQUEST_FILENAME&#125; !-f&lt;br&gt;RewriteCond &#037;&#123;REQUEST_FILENAME&#125; !-d&lt;br&gt;RewriteRule ^(.*)$ index.php &#091;L,QSA&#093; &lt;br&gt;&lt;br&gt;&lt;br&gt;index.php&lt;br&gt;&lt;br&gt;$handle = fopen(&quot;http://www.webaliser.org&quot;.$_SERVER&#091;&apos;REQUEST_URI&apos;&#093;, &quot;r&quot;);&lt;br&gt;while (!feof($handle)) &#123;&lt;br&gt;    $buffer = fgets($handle, 4096);&lt;br&gt;    echo $buffer;&lt;br&gt;&#125;&lt;br&gt;fclose($handle);&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#13</link>
    <pubDate>Thu, 25 Jun 2015 14:49:26 GMT</pubDate>
    <description>&amp;gt; ! Н Е В О З М О Ж Н О ! &lt;br&gt;&lt;br&gt;можно использовать &lt;br&gt;ссылу типа /dlya_malchikov/305/607/xxx/ и т.т. &lt;br&gt;т.е. закодить значиния вариэйблоф в строку - ПОДРУГОМУ НЕВОЗМОЖНО, БЛИАТЬ!&lt;br&gt;</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#12</link>
    <pubDate>Thu, 25 Jun 2015 14:47:05 GMT</pubDate>
    <description>&amp;gt; Это возможно ? Или это только в PHP, javascript, ajax и т.д. &lt;br&gt;&amp;gt; сделать можно ?&lt;br&gt;&lt;br&gt;! Н Е В О З М О Ж Н О !&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Вот если я Ваш пример правильно понял выше. Пользователь наберет старый url &lt;br&gt;&amp;gt; bar.html &lt;br&gt;&amp;gt; и увидит по нему информацию которая на сервера на самом то деле &lt;br&gt;&amp;gt; лежит по url foo.html &lt;br&gt;&amp;gt; Причем он даже и не узнает от том что bar.html уже нет. &lt;br&gt;&amp;gt; Вот и мне надо чтобы пользователь набрал в адресной строке /dlya_malchikov, а &lt;br&gt;&amp;gt; увидел информацию со страницы ?filter=&#037;26fd13&#037;3D105$&amp;code=nl (но в адресной строке у него &lt;br&gt;&amp;gt; осталось /dlya_malchikov) &lt;br&gt;&lt;br&gt;еще раз для очень одаренных: &lt;br&gt;1) не хотите светить переменные - POST, сессии и т.д.&lt;br&gt;2) это GET метод, детка!&lt;br&gt;3) принцип http следующий: а) браузер просил урл у сервера б) уже на сервере происходить подмена урла если включен реврайт, до непостредственной обработки в) подмененный урл реврайт подсовывается веб серверу г) сервер отвечает на переписанный урл е) все конец&lt;br&gt;и тут два важных момента: первый - при каждом новом урле итерация повторится (после</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#11</link>
    <pubDate>Thu, 25 Jun 2015 14:40:53 GMT</pubDate>
    <description>&amp;gt;&amp;gt; как по вашему сервер опознает какую страницу из этих дофига он должен &lt;br&gt;&amp;gt;&amp;gt; показать если все клиенты пришлют ему только &quot;/dlya_malchikov&quot;?&lt;br&gt;&amp;gt; Да нет, сервер просто должен заменить&lt;br&gt;&amp;gt; Точнее не так !!!&lt;br&gt;&amp;gt; Урл сервер должен оставить в данном случае без изменений,&lt;br&gt;&lt;br&gt;Вы уверены, что уже не пора начинать спрашивать _прокси_, переписывающий и URL-и запросов, и выдаваемый в ответ HTML? Хинт: &quot;Неиспраавленное&quot; приложение отдаёт html-и со ссылками внутри на _непереписанные_ URL-и &#091;своих соседних страниц~&#093;.&lt;br&gt;&lt;br&gt;И, да, в общем случае эта задача не разрешима: генерация url-ей js-ами; url-и внутри... ну, скажем, флэшей. Да мало ли ни с чем не совместимой пакости (sip, rtsp?) проскакивает в этом вашем http.&lt;br&gt;</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (anstrem)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#10</link>
    <pubDate>Thu, 25 Jun 2015 14:31:39 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt; урл /dlya_malchikov - он же один только может быть да?&lt;br&gt;&amp;gt; а урлов ?filter=&#037;26fd13&#037;3D105$&amp;code=nl - дофига ?&lt;br&gt;&amp;gt; как по вашему сервер опознает какую страницу из этих дофига он должен &lt;br&gt;&amp;gt; показать если все клиенты пришлют ему только &quot;/dlya_malchikov&quot;?&lt;br&gt;&lt;br&gt;Да нет, сервер просто должен заменить в любом урл &quot;/dlya_malchikov&quot; на урл &quot;?filter=&#037;26fd13&#037;3D105$&amp;code=nl&quot;&lt;br&gt;&lt;br&gt;Точнее не так !!!&lt;br&gt;Урл сервер должен оставить в данном случае без изменений, то есть как было &quot;/dlya_malchikov&quot; так и должно остаться &quot;/dlya_malchikov&quot;&lt;br&gt;А вот данные сервер должен подгрузить со страницы с &quot;?filter=&#037;26fd13&#037;3D105$&amp;code=nl&quot;&lt;br&gt;&lt;br&gt;Это возможно ? Или это только в PHP, javascript, ajax и т.д. сделать можно ?&lt;br&gt;&lt;br&gt;Вот если я Ваш пример правильно понял выше. Пользователь наберет старый url bar.html&lt;br&gt;и увидит по нему информацию которая на сервера на самом то деле лежит по url foo.html &lt;br&gt;Причем он даже и не узнает от том что bar.html уже нет.&lt;br&gt;&lt;br&gt;Вот и мне надо чтобы пользователь набрал в адресной строке /dlya_malchikov, а увидел информацию со стран</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (Square)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#9</link>
    <pubDate>Thu, 25 Jun 2015 14:12:49 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Делается это вот этим двумя командами в htaccess: &lt;br&gt;&amp;gt; RewriteCond &#037;&#123;QUERY_STRING&#125; ^filter=&#037;26fd13&#037;3D105$ &lt;br&gt;&amp;gt; RewriteRule ^(.*)$ $1/dlya_malchikov? &#091;L,R=301&#093; &lt;br&gt;&amp;gt; Это же обычный 301 редирект с одного URL на другой.&lt;br&gt;&amp;gt; Ну можно его в nginx еще сделать же...&lt;br&gt;&amp;gt; Но никакого URL http://site.ru/kedyi-krossovki/dlya_malchikov у меня естественно на &lt;br&gt;&amp;gt; сайте нет и поэтому надо дальше проброс сделать через внутренний какой &lt;br&gt;&amp;gt; то скрытый редирект что тоже в куче форумов с заголовками &quot;Внутренний &lt;br&gt;&amp;gt; редирект без смены URL&quot; &lt;br&gt;&amp;gt; Все прочел, но что то не склеивается :) &lt;br&gt;&lt;br&gt;Описание:&lt;br&gt;Предположим что мы недавно переименовали страницу bar.html в foo.html и сейчас хотим для обратной совместимости сделать доступным и старый URL. В действительности мы хотим чтобы пользователи использующие старый URL даже не узнали что страницы были переименованы.&lt;br&gt;Решение:&lt;br&gt;Мы перенаправим старый URL на новый через внутренний редирект путем следующих директив:&lt;br&gt;&lt;br&gt;RewriteEngine on&lt;br&gt;RewriteBase /~quux/&lt;br&gt;RewriteRule ^foo</description>
</item>

<item>
    <title>Сложная замена URL в nginx или htaccess ? (anstrem)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7982.html#8</link>
    <pubDate>Thu, 25 Jun 2015 13:58:58 GMT</pubDate>
    <description>&amp;gt; Вы не понимаете.&lt;br&gt;&amp;gt; вид урла рисует БРАУЗЕР.&lt;br&gt;&amp;gt; Вы, правкой htaccess, НИКАК не сможете поменять то что рисует браузер.&lt;br&gt;&amp;gt; А браузер вам нарисует ту ссылку которая в коде странички.&lt;br&gt;&amp;gt; На сайте который вы привели - включен ЧПУ.&lt;br&gt;&lt;br&gt;Чета я действительно уже ничего не понимаю&lt;br&gt;А что тогда описано в бесконечных FAQ в сети с заголовками: &quot;Управляем URL с помощью .htaccess и mod_rewrite&quot; ?&lt;br&gt;&lt;br&gt;Я у себя на сайте без проблем же меняю что рисует браузер через .htaccess&lt;br&gt;&lt;br&gt;Запрашиваю в адресной строке браузера&lt;br&gt;http://site.ru/kedyi-krossovki?filter=&#037;26fd13&#037;3D105&lt;br&gt;&lt;br&gt;В результате после редиректа в браузере получаю:&lt;br&gt;http://site.ru/kedyi-krossovki/dlya_malchikov&lt;br&gt;&lt;br&gt;Делается это вот этим двумя командами в htaccess:&lt;br&gt;&lt;br&gt;RewriteCond &#037;&#123;QUERY_STRING&#125; ^filter=&#037;26fd13&#037;3D105$&lt;br&gt;RewriteRule ^(.*)$ $1/dlya_malchikov? &#091;L,R=301&#093;&lt;br&gt;&lt;br&gt;Это же обычный 301 редирект с одного URL на другой.&lt;br&gt;Ну можно его в nginx еще сделать же...&lt;br&gt;&lt;br&gt;&lt;br&gt;Но никакого URL http://site.ru/kedyi-krossovki/dlya_malchikov у меня естественно на сайте нет и поэтому надо да</description>
</item>

</channel>
</rss>
