Записи с метками UrlRewritingNet
System.OutOfMemoryException
28 Июнь
Неприятный сюрприз я получил с использованием библиотеки UrlRewritingNet.UrlRewriter.dll.
Не знаю, то ли хостинг слабоват, то ли библиотека не без греха, но через 2-3 дня работы сайт падал с ошибкой "System.OutOfMemoryException", хотя сайт еще не был раскручен и имел 5-7 посетителей в сутки. Техподдержка хостинга вникать в мои проблемы не стала, а просто заявила, что проблема у меня.
На данный момент свои сайты я держу на хостинге comfoplace.com
Поскольку такая ошибка возникла впервые, а сейчас у меня 4 сайта на этом хостинге, то я решил разобраться в чем может быть проблема.
Единственное новшество - дружественные ссылки на основе библиотеки UrlRewritingNet.UrlRewriter.dll.
Ради эксперимента решил отказаться от SEO-ссылок, и оставил как есть с передачей параметра.
И, о чудо! Уже более месяца сайт работает без данной ошибки.
Вот такие дела.
Установка кода Liex на сайт ASP.net
29 Январь
В данной статье рассмотрим один из способов установки тематического кода Liex на сайт на платформе ASP.net с поддержкой PHP (Windows-хостинг).
О том, как установить код биржи, подробно написано на самом сайте Liex.ru
Перед добавлением площадки обязательно нужно установить на нее в папку ****** код биржи. Этой папке нужно дать права на запись (777). После добавления внесите изменения в корневой htaccess (см. пункт меню "Тематики")
На windows-хостинге нет понятия право на запись 777, необходимо разрешить запись в эту папку. В большинстве случаев Вы можете сделать это самостоятельно.
Считаем, что Вы установили скрипт, и теперь надо настроить тематики.
Данные строки нужно вставить в корневой htaccess вашего сайта (если в нем есть другие правила mod_rewrite, то тогда НАД ними):
RewriteEngine On RewriteRule ^pages/?$ /b33b9479d2e/ [L] RewriteRule ^stroika/?$ /b33b9479d2e/stroika.php [L] RewriteRule ^stroika/(\d+)/?$ /b33b9479d2e/stroika_$1.php [L] RewriteRule ^stroika/([0-9]+).(php|htm|html)$ /b33b9479d2e/$1.$2 [L] RewriteRule ^in-yaz/?$ /b33b9479d2e/in-yaz.php [L] RewriteRule ^in-yaz/(\d+)/?$ /b33b9479d2e/in-yaz_$1.php [L] RewriteRule ^in-yaz/([0-9]+).(php|htm|html)$ /b33b9479d2e/$1.$2 [L] ...
Естественно, ни о каком htaccess на Windows-хостинге речи быть не может.
В качестве аналога RewriteEngine можно использовать бесплатную библиотеку UrlRewritingNet.
Необходимо скачать с сайта библиотеку UrlRewritingNet.UrlRewriter.dll и закинуть ее в папку BIN Вашего проекта.
Прописать в файле web.config необходимые настройки
<?xml version="1.0"?> <configuration> <configSections> <section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/> </configSections> <urlrewritingnet configSource="<strong>ExternalRewrite.config</strong>"> </urlrewritingnet> ... <system.web> <httpModules> <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.urlRewriter"/> </httpModules>
Обратите внимание, если библиотека UrlRewritingNet не отработала на Вашем хостинге, тогда добавьте в файл web.config следующие строки
<system.webServer> <modules> <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" /> </modules>
Итак, Вы зарегистрировали библиотеку, теперь необходимо ее настроить. При заданной конфигурации, все настройки будут храниться в файле ExternalRewrite.config
Берем необходимые тематики с сайта Liex и прописываем в конфигурационном файле
Например
<?xml version="1.0"?> <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage = "Default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" > <rewrites> <add name="liexpagesRoot" virtualUrl="^<strong>~/pages/</strong>" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="<strong>~/b33b9479d2e/main.php</strong>" ignoreCase="true" /> <add name="liexCinema" virtualUrl="^~/cinema/([0-9]+).(php|htm|html)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/b33b9479d2e/$1.$2" ignoreCase="true" /> <add name="liexCinemaRoot" virtualUrl="^~/cinema/" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/b33b9479d2e/cinema.php" ignoreCase="true" /> <add name="liexgrafika" virtualUrl="^~/grafika/([0-9]+).(php|htm|html)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/b33b9479d2e/$1.$2" ignoreCase="true" /> <add name="liexgrafikaRoot" virtualUrl="^~/grafika/" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/b33b9479d2e/grafika.php" ignoreCase="true" /> ... </rewrites> </urlrewritingnet>
Обратите внимание на то, что все имена должны быть уникальны.
Каталог статей в данном примере ~\pages.
Вот и все. Теперь все должно работать. Вам необходимо лишь прописать все темы, либо только те, которые Вы принимаете.
Примечание:
Не каждый windows-хостинг поддерживает PHP и файлы .htaccess. А файл .htaccess автоматически записывается в Вашу папку со статьями.
Примеры Windows-хостинга:
Seattlehost - при наличии файла .htaccess в папке выдает ошибку сервера 500
Godaddy - работает без проблем, файл .htaccess игнорируется
Comfoplace - работает без проблем, только при условии, что в настройках хостинга Вы укажите, что поддержка PHP - запустить как расширение ISAPI
Свежие комментарии