私はポートフォリオをフロントエンド開発者としてビルドしており、まだ開発中です。それをテストするために、FTPを使用して私のjusthostドメインにファイルをアップロードしました。これは成功です。さて、私のサイトはwww.johndoe.comです(これはわかりやすいように私の実際のサイトは 'hassanefall.com'です)。「www.johndoe.com/something」と入力すると404エラーが発生する
(私は経路にangularjsを使用しています)特定のルート/ページに行きたい:www.hassanefall.com/about。 Aboutページは、リンクをクリックしてナビゲートすると動作します。
しかし、URLに正確なURLパスを入力すると、404エラーページが表示されます。
私は '/ work'、 '/ contact'などを持っており、直接URLにアクセスしないと、www.hassanefall.com/contactを入力すると404ページが表示されます。あたかも各ページ/ルートのファイルが存在しないかのようです。ヘルプ?
ここにコードがあります。
注:私は、URLからベース '/'と$ relocationProviderを使用してハッシュを削除しました。これに対する答えがあれば、それは大変感謝しています。
var app = angular.module('mySite', ['ngRoute']);
app.config(function($routeProvider, $locationProvider){
$routeProvider
.when('/', {
controller: 'HomeController',
templateUrl: 'views/home.html'
})
.when('/projects', {
controller: 'HomeController',
templateUrl: 'views/projects.html'
})
.when('/service', {
controller: 'HomeController',
templateUrl: 'views/service.html'
})
.when('/about', {
controller: 'HomeController',
templateUrl: 'views/about.html'
})
.when('/contact', {
controller: 'ContactController',
templateUrl: 'views/contact.html'
})
.when('/portfolio/:id', {
controller: 'ItemController',
templateUrl: 'views/item.html'
})
.otherwise({redirectTo: '/'});
$locationProvider.html5Mode(true);
});
もっとコードサンプルが必要な場合はお知らせください。 :)
ありがとう。私はそれを見て、それがサーバーなら、私はハッシュモードに戻ります。プッシュステートのような代替品はありますか?私はこのすべてに新しいです。 :) –
あなたはpushStateを使うことができますが、あなたはディープリンクなどの能力を失います。私はそれを避けるでしょう。 P.S:私の答えが答えとしてマークしてください/クレジットを追加する(: –