Я построил свое угловое приложение с помощью команды: ng build --base-href ./ --prod
(я также пробовал ng build --base-href /index --prod
& ng build --base-href ./index --prod
& ng build --prod
).Затем я помещаю содержимое папки dist
, созданной на моем сервере Apache.
Когда я перехожу с главной страницы на другую страницу с помощью панели навигации, она работает нормально.Это устанавливается с помощью router
в приложении.Но я нажимаю обновить, тогда я получаю Error 404
.Я изучил это и прочитал множество вещей, чтобы попробовать, я прочитал длинную ветку git, пробуя много разных комбинаций.
Я создал .htaccess
в том же корне, что и index.html
для моеговеб-страница.
Я видел это много раз, и поэтому мой .htaccess
выглядит так:
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
Почему я все еще получаю ошибку 404?Я неправильно строю приложение или в .htaccess
что-то отсутствует, что мне не хватает?
Если вам нужен еще какой-нибудь код из моего приложения, пожалуйста, дайте мне знать, и я добавлю его, я не хотелдобавьте код, который может оказаться бесполезным.
РЕДАКТИРОВАТЬ Это мое app-routing.module.ts
:
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { SettingsComponent } from './settings/settings.component';
const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'settings', component: SettingsComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }