Хорошо,
Поскольку я - .htaccess-lame, я решил использовать jQuery для решения моей проблемы. Я использовал .attr () для замены исходного атрибута 'href'. Мне удалось изменить ссылки на подстраницы с помощью:
$(function(){
$('#menu_on_HOME a').each(function(i){
var atitle = $(this).attr("href");
var strRep = atitle;
n = strRep.lastIndexOf('/'); //finds the last occurence of '/' to replace with '#'
if (n >= 0 && n + strRep.length >= strRep.length) {
strRep = strRep.substring(0, n) + "#" + strRep.substring(n + 1, n + strRep.length); // this is where magic happens
}
$(this).attr("href", strRep); //here is where I replace the original attribute 'href'
});
});
Приведенная выше функция отправляет меня на страницу № страницы, где страница содержит содержимое всех страниц, и нажатие на ссылку menu_on_HOME переходит прямо к привязке страницы. Более того, на самой странице PAGE у меня есть внутренние ссылки на подстраницы (контент можно редактировать с помощью cms как страницы), но мне не нужно было углубляться в подстраницу, а получить желаемую привязку, поэтому я использовал ScrollTo :
$(function(){
$('menu_on_PAGE a').each(function(i){
var atitle = $(this).attr("href");
var strRep = atitle;
n = strRep.lastIndexOf('/');
var name;
if (n >= 0 && n + strRep.length >= strRep.length) {
name = strRep.substring(n + 1, n + strRep.length);
strRep = strRep.substring(0, n) + "#" + name;
$(this).click(function(event){
var scroller = '#content a[name=' + name + ' ]'; //point to the anchor
$(window).scrollTo(scroller,{duration:1500});
});
}
$(this).attr("href", strRep);
});
});
$(window)._scrollable();
Я не знаю, насколько «правильным» или «неправильным» является решение, однако оно работает для меня без нареканий :)