1. Используйте роутинг через параметр get как я вам выше привел пример
2.
#ставим перед обработкой routeRewriteRule ^very_secret_directory/.*$ - [PT]
RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d#hide directoryRewriteRule ^very_secret_directory/.*$ - [PT]RewriteRule ^include/.*$ - [PT]RewriteRule ^etc/.*$ - [PT]#RewriteRule ^(.*)\?*$ index.php?route=$1 [L,QSA]
Насколько я понял, вы собираетесь писать сайт с нуля, поэтому рекомендую потратить немного времени и посмотреть в сторону какого нибудь mvc фреймворка на php(например Yii). Сэкономите кучу времени и нервов. Для того что бы ездить на велосипеде - не обязательно его придумывать заново, можно взять либо готовый велосипед(CMS) либо собрать его самому(Framework).
Что же касается ЧПУ, то рекомендую использовать такой вариант:
RewriteRule ^(.*)\?*$ index.php?r=$1 [L,QSA]
Т.е. основной запрос(маршрут) будет в $_GET['r'], а все остальные параметры если они будут необходимы так же брать из get.
$_GET['r'] - обрабатывать с помощью регулярных выражение или путем разбиения строки(explode) и писать правила.
/монтаж-труб.html
В том коде который я вам до этого давал, найдите строчку
if(href == uri.path) {
замените на
if(href == uri.path || href == decodeURIComponent(uri.path)) {
nemartirosyan, рискну спросить,... а у вас на сайте в меню урлы какие?
<a href="#">Шумоглушители</a>
nemartirosyan, оно работает, просто дело все вот в чем...
Т.к. это меню и оно скорее всего находится вверху, поэтому при клике по пункту и после загрузки страницы, позиция курсора не меняется и соответственно срабатывает событие hover для меню.
вот этот скрипт попробуйте
jQuery(document).ready(function(){ var uri = parse_url(document.location.href); jQuery('.smenu a').each(function() { var href = jQuery(this).attr('href'); if(href == uri.path) { jQuery(this).parent().parent().show(); jQuery(this).parent().parent().parent().addClass('active'); jQuery(this).parent().addClass('active'); jQuery(this).parent().children('ul').show(); } }); jQuery('.smenu ul li').hover( function() { var class_name = jQuery(this).attr('class'); if(class_name != 'active') { jQuery(this).find('ul').slideDown(90); jQuery(this).addClass('menuactive'); } }, function() { var class_name = jQuery(this).attr('class'); if(class_name != 'active') { jQuery(this).find('ul').slideUp(90); jQuery(this).removeClass('menuactive'); } } ); });
Берем отсюда скрипт http://phpjs.org/functions/parse_url/, подключаем его выше скрипта который работает с меню
Добавить код который между begin end к вашему коду
<script type="text/javascript">jQuery(document).ready(function(){ jQuery('.smenu ul li').hover( function() { jQuery(this).find('ul').slideDown(90); jQuery(this).addClass('menuactive'); }, function() { jQuery(this).find('ul').slideUp(90);jQuery(this).removeClass('menuactive'); } ); /* begin */ var uri = parse_url(document.location.href); jQuery('.smenu a').each(function() { var href = jQuery(this).attr('href'); if(href == uri.path) { jQuery(this).parent().parent().show();//если это 2-й уровень jQuery(this).parent().children('ul').show();//если это 1-й уровень } }); /* end */});</script>
danny2, приведите более точный пример с исходным файлом на 10 строк и результатом.
Там простенькая обфускация у js файлов.
Внизу страницы есть 4 скрипта
1 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 2 <script src="/pop/xs.js" type="text/javascript"></script> 3 <script src="/pop/xz.js" type="text/javascript"></script> 4 <script src="/pop/jquery.cookie.js" type="text/javascript"></script>
Тебе нужны 1,3,4... 2 можно выкинуть - он не нужен
Открываешь 3 скрпт ("/pop/xz.js") копируешь код, открываешь http://jsbeautifier.org/ вставляешь, нажимаешь кнопку и получаешь читабельный код.
Как минимум должно быть 2 заголовка
header('Content-type: video/mp4'); header('Content-length: '.filesize($filename));
На данном сайте используется геокодирование от google
$("div.map_settings input[type=text]").autocomplete({ //Определяем значение для адреса при геокодировании source: function(request, response) { geocoder.geocode( {'address': request.term}, function(results, status) { response($.map(results, function(item) { return { label: item.formatted_address, value: item.formatted_address, } })); }) }, //Выполняется при выборе конкретного адреса select: function(event, ui) { var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude); } });