digga Posted January 27, 2012 Report Share Posted January 27, 2012 (edited) update: Ответ я нашёл, но родился другой вопрос (в следующем сообщении)Поиск не помог мне ответить на этот вопрос, так что обращаюсь к вам.Есть сайт собранный с применением SSI, может он и не лучшим образом собран, но работал.И тут я озаботился редиректом с www.digga на просто diggaВ .htaccess добавилRewriteEngine OnRewriteCond %{HTTP_HOST} ^www.digga\.ru$ [NC]RewriteRule ^(.*)$ http://digga.ru/$1 [R=301,L]Он работает в 90% работает.10% выпало на ссылки с QUERY_STRINGИмя файла вставляемого в шаблон Silnoe Koldunstvo.bg.shtmlВ шаблоне следующий код: <!--#if expr="$QUERY_STRING" --> <!--#include virtual="$QUERY_STRING.bg.shtml" --> <!--#else --> <!--#include virtual="spisok.bg.shtml" --> <!--#endif -->Ссылка оформлена как:<A href="bg/bg.shtml?Silnoe Koldunstvo">Сильное Колдунство.</a>в адресной строке выводится:http://digga.ru/bg/bg.shtml?Silnoe%20KoldunstvoА теперь фокус! Если кто-то заходит с www.digga.ru/bg/bg.shtml?Silnoe%20Koldunstvoто после Rewrite "%" превратится в "%25" и в адресную строку попадётhttp://digga.ru/bg/bg.shtml?Silnoe%2520KoldunstvoЧто естественно не работает.Подскажите, пожалуйста, как с этим бороться или хотя бы, что гуглить.Сразу замечу, что страница вся на HTML + SSI больше ничего не используется. Edited January 27, 2012 by digga Quote Link to comment Share on other sites More sharing options...
0 digga Posted January 27, 2012 Author Report Share Posted January 27, 2012 Извиняюсь, что отвлекал. На свежую голову открыл для себя флаг NE,так что вот такой код сработалRewriteRule ^(.*)$ http://digga.ru/$1 [R=301,L,NE]Другой вопрос. <!--#set var="temp" value="$QUERY_STRING"--> <!--#if expr="${QUERY_STRING}=/../" --> <!--#include virtual="news/n$QUERY_STRING.shtml" --> <!--#elif expr="${QUERY_STRING}=/fanclub/" --> <!--#include virtual="$QUERY_STRING.shtml" --> <!--#else --> <h1><font color="#800000">Вас приветствует Дигга на Digga.ru</font></h1> <!--#include virtual="news/n..2012-01-17.shtml" --> <!--#endif -->Файл fanclub.shtml лежит в корне.Запрос http://digga.ru/index.shtml?fanclub Приводит к [an error occurred while processing this directive] Хотя пустой запрос http://digga.ru/index.shtml? или http://digga.ru/index.shtml?..2012-01-17 будут работать корректно.Если есть наверно что-то, что я не понимаю, так что буду признателен за любую помощь. Quote Link to comment Share on other sites More sharing options...
0 rus Posted January 27, 2012 Report Share Posted January 27, 2012 ошибка в записи:<!--#elif expr="${QUERY_STRING}=/fanclub/" -->может в этом проблема? Quote Link to comment Share on other sites More sharing options...
0 digga Posted January 27, 2012 Author Report Share Posted January 27, 2012 ошибка в записи:<!--#elif expr="${QUERY_STRING}=/fanclub/" -->может в этом проблема?Пока я так и не понял где ошибка, но зато откопал, что я, сам того не зная, использую "regular expressions".Штука интересная, плохо что из порядка 25-30 сайтов, что я облазил по SSI, ни на одном не было упоминания о "regular expressions".А стоило бы, т.к. без этого SSI теряет ряд привлекательных черт. Quote Link to comment Share on other sites More sharing options...
0 rus Posted January 27, 2012 Report Share Posted January 27, 2012 Пока я так и не понял где ошибка, а если присмотреться elif? Quote Link to comment Share on other sites More sharing options...
0 digga Posted January 27, 2012 Author Report Share Posted January 27, 2012 а если присмотреться elif?Я медленно вхожу в ступор... <!--#elif expr="${QUERY_STRING}=/fanclub/" -->Я базируюсь на link<!--#if expr="test_condition" --><!--#elif expr="test_condition" --><!--#else --><!--#endif -->Или я что-то важное упускаю. Quote Link to comment Share on other sites More sharing options...
0 rus Posted January 27, 2012 Report Share Posted January 27, 2012 Я медленно вхожу в ступор... прошу прощения, просто ssi не очень знаком и мне показалось дикостью вместо elseif писать elif тогда умываю руки, еще раз ссори за холивар UPD: единственное что нашел, но только на инглише и кажется там говорится о том, что подключаемый файл должен находиться на одном уровне с файлом в котором вызывается это подключение: http://www.yourhtmlsource.com/sitemanagement/includes.htmlможет и не так понял, если че английский знаю плохо Quote Link to comment Share on other sites More sharing options...
0 Veseloff Posted January 27, 2012 Report Share Posted January 27, 2012 мне показалось дикостью вместо elseif писать elifВ питоне, например, так всё и пишется — через elif:if a==1: # do somethingelif a==2: # do something elseelse: # another actionsтак что не дикость ни разу Quote Link to comment Share on other sites More sharing options...
0 digga Posted January 27, 2012 Author Report Share Posted January 27, 2012 UPD: единственное что нашел, но только на инглише и кажется там говорится о том, что подключаемый файл должен находиться на одном уровне с файлом в котором вызывается это подключение: http://www.yourhtmlsource.com/sitemanagement/includes.htmlможет и не так понял, если че английский знаю плохо Спасибо за участие, хотя это и не помогло, т.к оба файла находятся в одной директории.Продолжаю поиски, прям мистика какая-то. Чувствую "истина где-то рядом" ©. Quote Link to comment Share on other sites More sharing options...
0 rus Posted January 27, 2012 Report Share Posted January 27, 2012 так что не дикость ни разупитон? не, не слышал )))возьму себе на заметку, спасибо.Спасибо за участие, хотя это и не помогло, т.к оба файла находятся в одной директории.да было бы за что..., это так сказать моральная компенсация за мою безграмотность в отношении некоторых языков удачи в поисках. Quote Link to comment Share on other sites More sharing options...
0 digga Posted February 1, 2012 Author Report Share Posted February 1, 2012 Люди добрые, ну не выходит никак решить эту задачу, может у кого есть идеи? даже если неправильные, то может на мысль хоть наведут. Quote Link to comment Share on other sites More sharing options...
0 Zombak Posted February 1, 2012 Report Share Posted February 1, 2012 Пршу помочь очень сильно нуждаюсь тема на вашем сайте Тута Quote Link to comment Share on other sites More sharing options...
Question
digga
update: Ответ я нашёл, но родился другой вопрос (в следующем сообщении)
Поиск не помог мне ответить на этот вопрос, так что обращаюсь к вам.
Есть сайт собранный с применением SSI, может он и не лучшим образом собран, но работал.
И тут я озаботился редиректом с www.digga на просто digga
В .htaccess добавил
Он работает в 90% работает.
10% выпало на ссылки с QUERY_STRING
Имя файла вставляемого в шаблон
В шаблоне следующий код:
Ссылка оформлена как:
в адресной строке выводится:
А теперь фокус! Если кто-то заходит с
то после Rewrite "%" превратится в "%25" и в адресную строку попадёт
Что естественно не работает.
Подскажите, пожалуйста, как с этим бороться или хотя бы, что гуглить.
Сразу замечу, что страница вся на HTML + SSI больше ничего не используется.
Edited by diggaLink to comment
Share on other sites
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.