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