URL-адрес sammy.js не найден в подкаталоге

Привет, я создаю спа с нокаутом, усилением и Сэмми.

Если я сейчас нажму на ссылку, как:

#/page?s=About

он ссылается на url.de/subdirectory/#/page?s=About, что верно, но консоль выдает следующую ошибку: GET url.de/About 404 (не найден), потому что это должно быть: url.de/subdirectory/About

Мой код Сэмми:

var app=$.sammy(function () {

        // define prexecutes

        // update parameters in appModel from request for all routes
        this.before('', function() {
            //setParameters(this);
        });

        // authenticate on any page except for login and logout routes
        this.before({except: {path:/\/(login|logout|hp)/}}, function() {

        });

        // actual routes

        // home

        this.get('#/', function() {
            appModel.page("home");
            return false;
        });

        // content

        this.get('#/page', function(eventContext) {

            content(eventContext);
        });

    });

    app.run('#/');

Как заставить Сэмми не игнорировать мой подкаталог, в котором находится мой сайт?

2 ответа

Вы можете попробовать с другим пользовательским определением маршрута, как это

this.get('#/page/:s', function(eventContext) { // where s is parametre

            content(eventContext);
        });

также используйте URL, как это

#/page/About  // it will read 'About' as value of parameter 's'

вместо

#/page?s=About

Надеюсь это поможет

Я сам недавно столкнулся с подобной ситуацией. Я не смог найти какие-либо параметры конфигурации или обходные пути, которые позволили бы Sammy.js маршрутизировать в подкаталог. Мое решение состояло в том, чтобы создать виртуальный хост на сервере, на котором размещено мое приложение, с подкаталогом в качестве субдомена, чтобы поместить приложение в корень документа. В вашем случае виртуальный сервер будет отображаться из url.de/subdir/About в subdir.url.de/About, Я понимаю, что это может оказаться невозможным для вас (так как я не знаю, какой у вас контроль над вашей хостинговой средой), но это заставило меня снова двигаться довольно быстро. Надеюсь это поможет.

PS В качестве небольшого отступления я только что просмотрел источник Sammy.js по адресу https://github.com/quirkey/sammy, и оказалось, что подкаталог удален (по ошибке), чтобы исправить причуду IE. https://github.com/quirkey/sammy/blob/master/lib/sammy.js#L301 может быть проблемой.

Другие вопросы по тегам