Мод переписать страницу привязки - PullRequest
0 голосов
/ 17 декабря 2010

Я пытался решить эту проблему последние два часа. Я уже попробовал все решения, упомянутые в Google, но безуспешно.

Давайте начнем с проблемы. Я пытаюсь использовать этот плагин: http://www.gethifi.com/blog/a-jquery-plugin-to-create-an-interactive-filterable-portfolio-like-ours

на моем сайте. Проблема в том, что этот плагин использует теги привязки. Без этого это, кажется, не работает. Я пытаюсь работать с удобными для пользователя URL-адресами на веб-сайте, над которым я сейчас работаю. Так что якоря не работают.

Это мой файл .htaccess прямо сейчас:

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)\.html$ /mysite/category.php?cat=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /mysite/category.php?cat=$1&lang=$2 [L]

Ничего особенного, просто некоторые изменения для категорий и языков. Единственное, что, кажется, работает, это:

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)\.html$ /mysite/category.php?cat=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /mysite/category.php?cat=$1&lang=$2 [NE,R,L]

Но мой удобный URL-адрес также исчез, когда я его использую. Вместо этого я вижу: category.php? Cat = ....

Не знаю, важно ли это, но я использую <base href="">, чтобы указать на хост, с которым я работаю.

Заранее спасибо за любые идеи.

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

Привязка # - это фрагмент URL, apache будет игнорировать и не обслуживать перезапись.

Использование подхода клиента - единственный способ.

Или вы можете попробовать PHP parse_url- PHP_URL_FRAGMENT

0 голосов
/ 17 декабря 2010

Не удалось найти способ заставить плагин работать в сочетании с mod_rewrite, поэтому я просто сдался и использовал другой плагин.Это похоже на работу find, поскольку для работы с ней не требуется привязка.

Peace.

Edit:

Это код, который я сейчас использую:

        $(document).ready(function() {

            $('.menu li a').click(function() {


                $('.menu li').removeClass('selected');
                $(this).parent('li').addClass('selected');

                thisItem    = $(this).attr('rel');

                if(thisItem != "all") {

                    $('.item li[rel='+thisItem+']').stop()
                                                            .animate({'width' : '110px', 
                                                                         'opacity' : 1, 
                                                                         'marginRight' : '.5em', 
                                                                         'marginLeft' : '.5em'
                                                                        });

                    $('.item li[rel!='+thisItem+']').stop()
                                                            .animate({'width' : 0, 
                                                                         'opacity' : 0,
                                                                         'marginRight' : 0, 
                                                                         'marginLeft' : 0
                                                                        });
                } else {

                    $('.item li').stop()
                                    .animate({'opacity' : 1, 
                                                 'width' : '110px', 
                                                 'marginRight' : '.5em', 
                                                 'marginLeft' : '.5em'
                                                });
                }
            })

            $('.item li img').animate({'opacity' : 0.5}).hover(function() {
                $(this).animate({'opacity' : 1});
            }, function() {
                $(this).animate({'opacity' : 0.5});
            });

        });

Я просто изменил его из списка на div.

...