Если я непосредственно загружаю конкретный URL-адрес компонента, это приводит к ошибке страницы [duplicate]

<?php
      $username = $_POST['username'];
       $password = $_POST['password'];

     $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '".mysql_real_escape_string($username)."'")or die(mysql_error());
while($row=mysql_fetch_array($result))
  {
 echo $row['FirstName'];
 }
 ?>
17
задан AngularM 22 December 2015 в 16:59
поделиться

4 ответа

Для Firebase Hosting документация по переадресации и перезаписи приведена здесь: https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html

Оттуда:

Используйте переписывание, когда вы хотите показывать один и тот же контент для нескольких URL-адресов. Rewrites особенно полезны при сопоставлении с образцом, так как вы можете принять любой URL-адрес, соответствующий шаблону, и позволить клиентскому коду решить, что отображать.

Вероятно, вы ищете первый переписать sample на этой странице:

rewrites": [ {
  "source": "**",
  "destination": "/index.html"
} ]

Это инструкция для веб-сервера, которая будет обслуживать /index.html для любого входящего запроса, независимо от того, какой путь.

14
ответ дан Frank van Puffelen 28 August 2018 в 00:29
поделиться

У меня была такая же проблема в производстве. Следующие шаги помогли мне решить проблему. Вы должны добавить в свой корневой модуль следующий:

imports: [RouterModule.forRoot(routes, {useHash: true})]

, и он перейдет в HashLocationStrategy. Угловая документация

Надеюсь, что это поможет кому-то !!

3
ответ дан geisterfurz007 28 August 2018 в 00:29
поделиться

Расширяя принятый ответ, я хотел показать, что правила перезаписи идут внутри правил хостинга. в firebase.json

"hosting": {
  "rewrites": [ {
    "source": "**",
    "destination": "/index.html"
   } ]
}

Firebase также имеет обновленную страницу документов , где приведен пример выше.

Кроме того, я был опрокинут вопросом hash (#). Я обнаружил, что это не относится к новому Угловому. Выполняя эти небольшие изменения в firebase.json, перестраивая, публикуя в firebase, а затем делая страницу обновления с явным кэшем, сразу же разрешил мою проблему с 404 без каких-либо обходных решений, необходимых для хэшей в URL.

1
ответ дан SeanKPS 28 August 2018 в 00:29
поделиться

Я думаю, что вы используете режим по умолчанию для Angular2 routing (т. е. HTML5LocationStrategy). В этом случае вам потребуется какая-то конфигурация на вашем веб-сервере, чтобы загрузить index.html (файл точки входа) для каждого URL-адреса, соответствующего каждому маршруту.

Если вы хотите переключиться на подход HashBang, вы необходимо использовать эту конфигурацию:

import {bootstrap} from 'angular2/platform/browser';
import {provide} from 'angular2/core';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {LocationStrategy, Location, HashLocationStrategy } from 'angular2/router'; 

import {MyApp} from './myapp';

bootstrap(MyApp, [
  ROUTER_PROVIDERS,
  provide(LocationStrategy, {useClass: HashLocationStrategy}
]);

В этом случае, когда вы обновляете страницу, она будет отображаться снова.

Надеюсь, это поможет вам, Тьерри

18
ответ дан Thierry Templier 28 August 2018 в 00:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: