Php 修改重写页面锚

Php 修改重写页面锚,php,mod-rewrite,anchor,Php,Mod Rewrite,Anchor,在过去的两个小时里,我一直在努力解决这个问题。我已经尝试了谷歌上提到的每一个解决方案,但没有任何运气 让我们从问题开始。我正在尝试使用此插件: 在我的网站上。问题是这个插件使用了锚标签。没有它,它似乎不起作用。 嗯,我正在努力在我现在正在开发的网站上使用用户友好的URL。所以锚不起作用 这是我的.htaccess文件: RewriteEngine On RewriteBase / RewriteRule ^([^/]*)\.html$ /mysite/category.php?cat=$1 [

在过去的两个小时里,我一直在努力解决这个问题。我已经尝试了谷歌上提到的每一个解决方案,但没有任何运气

让我们从问题开始。我正在尝试使用此插件:

在我的网站上。问题是这个插件使用了锚标签。没有它,它似乎不起作用。 嗯,我正在努力在我现在正在开发的网站上使用用户友好的URL。所以锚不起作用

这是我的.htaccess文件:

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)\.html$ /mysite/category.php?cat=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /mysite/category.php?cat=$1&lang=$2 [L]
        $(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});
            });

        });
没什么特别的,只是一些类别和语言的重写。唯一有效的办法是:

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=

我不知道这是否重要,但我使用
指向我正在使用的主机


提前感谢您的建议。

无法找到一种方法使插件与mod_rewrite结合使用,所以我放弃了,使用了另一个插件。它似乎可以找到工作,因为它不需要锚

和平

编辑:

这是我现在正在使用的代码:

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)\.html$ /mysite/category.php?cat=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /mysite/category.php?cat=$1&lang=$2 [L]
        $(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});
            });

        });
我刚刚把它从list改为divs。

Anchor
#
是一个URL片段,apache将忽略它,不会进行重写

使用客户端方法是唯一的解决方法


或者您可以尝试问题出在
R
标志上。“不工作”是不够的描述。@Pekka:我打赌如果他得到重定向而不是“不工作”,他会看到它,并在问题中详细说明;-)@佩卡:不,它似乎不起作用@虫族:那好吧:什么都没发生。url已正确更改为锚定,但我需要手动刷新页面以查看效果。如果你需要更多的信息,我很乐意提供。谢谢您的时间。@moonwalker您能展示一个带有锚的URL示例吗?因为
#xyz
部分根本不应该影响URL重写,所以它只在浏览器端使用。基本标签可能是罪魁祸首,那么你想告诉全世界你使用的哪个插件对你有效吗?也许其他人也会遇到同样的问题…@Select0r:很抱歉,我没有考虑将解决方案放在这里。格里茨。