#javascript #reactjs #azure-devops #azure-web-app-service #devops
#язык JavaScript #реагирует на #azure-devops #azure-веб-приложение-служба #devops
Вопрос:
Я развернул свое приложение reactjs в веб-приложении azure. При попытке получить доступ к длинному URL-адресу я получаю сообщение об ошибке «Ресурс, который вы ищете, был удален, его имя было изменено или временно недоступен».
Я нашел некоторый ответ на stackoverflow, который они предлагают добавить файл web.config на корневом уровне каталога azure, поэтому я добавляю это, но ошибка все еще возникает.
после добавления файла web.config по-прежнему появляется сообщение «Ресурс, который вы ищете, был удален, его имя изменено или временно недоступен». reactjs в Azure
мой файл web.config находится здесь
lt;configurationgt; lt;system.webServergt; lt;rewritegt; lt;rulesgt; lt;rule name="Main Rule" stopProcessing="true"gt; lt;match url=".*" /gt; lt;conditions logicalGrouping="MatchAll"gt; lt;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /gt; lt;add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /gt; lt;/conditionsgt; lt;action type="Rewrite" url="/" /gt; lt;/rulegt; lt;/rulesgt; lt;/rewritegt; lt;/system.webServergt; lt;/configurationgt;
Моя структура папок. введите описание изображения здесь
Комментарии:
1. Не могли бы вы предоставить свою структуру папок,включая уровень web.config
2. Попробуйте остановить и перезапустить приложение.
3. @HarshithaVeeramalla-MT Я добавил изображение своей структуры папок, пожалуйста, нажмите ввести описание изображения здесь ссылка.
4. Добавьте ниже фрагмент staticContent после lt;system.webservergt; lt;system.webservergt;lt;system.webServergt; lt;staticContentgt;lt;staticContentgt; lt;Расширение файла mimeMap=». woff2″ mimeType=»приложение/x-шрифт-woff» / gt;lt;Расширение файла mimeMap=». woff2″ mimeType=»приложение/x-шрифт-woff» / gt; lt;Расширение файла mimeMap=». woff» mimeType=»приложение/x-шрифт-woff» / gt;lt;Расширение файла mimeMap=». woff» mimeType=»приложение/x-шрифт-woff» / gt; lt;Расширение файла mimeMap=». json» mimeType=»приложение/json» / gt;lt;Расширение файла mimeMap=». json» mimeType=»приложение/json» / gt; lt;Расширение файла mimeMap=». ipa» mimeType=»приложение/октет-поток» / gt;lt;mimeMap Расширение файла=». ipa» mimeType=»приложение/октетный поток» / gt; lt;Расширение файла mimeMap=». plist» mimeType=»приложение/xml» / gt;lt;Расширение файла mimeMap=». plist» mimeType=»приложение/xml» / gt; lt;/staticContent gt;lt;/staticContentgt; lt;/system.webServergt;
Ответ №1:
- Эта ошибка возникает, когда URL-адрес вводится непосредственно пользователем в URL-адрес браузера или если вы используете окно.местоположение.замените, чтобы перенаправить страницу.
- Поместите файл web.config в корневой каталог приложения. Содержимое файла web.config-это просто правила перенаправления, как показано ниже:
lt;?xml version="1.0" encoding="UTF-8"?gt; lt;configurationgt; lt;system.webServergt; lt;rewritegt; lt;rulesgt; lt;clear /gt; lt;!-- ignore static files --gt; lt;rule name="AngularJS Conditions" stopProcessing="true"gt; lt;match url="(app/.*|css/.*|fonts/.*|images/.*|js/.*|node_modules/.*)" /gt; lt;conditions logicalGrouping="MatchAll" trackAllCaptures="false" /gt; lt;action type="None" /gt; lt;/rulegt; lt;!-- check if its root url and navigate to default page --gt; lt;rule name="Index Request" enabled="true" stopProcessing="true"gt; lt;match url="^$" /gt; lt;action type="Redirect" url="/home" logRewrittenUrl="true" /gt; lt;/rulegt; lt;!--remaining all other url's point to index.html file --gt; lt;rule name="AngularJS Wildcard" enabled="true"gt; lt;match url="(.*)" /gt; lt;conditions logicalGrouping="MatchAll" trackAllCaptures="false" /gt; lt;action type="Rewrite" url="index.html" /gt; lt;/rulegt; lt;/rulesgt; lt;/rewritegt; lt;/system.webServergt; lt;/configurationgt;
- Первое правило состоит в том, чтобы передать все статические файлы, поэтому просто перечислите все каталоги статических файлов.
- Второе правило заключается в перенаправлении корневого URL-адреса на виртуальный маршрут, как в моем примере это /home. А остальное должно быть перенаправлено на ваш index.html файл.
- Крайне важно, чтобы ваш index.html файл содержит
**lt;base href=”/” /gt;** in the **lt;headgt;**
тег для включения маршрутизации.
Обновить
Попробуйте остановить и перезапустить приложение.
Комментарии:
1. @israr comsian — Пожалуйста, следуйте этому
2. У меня был файл веб-конфигурации, помещенный в корневой каталог, но он все равно не работал, наконец, я просто перезапустил приложение из службы веб-приложений azure, и ошибка была устранена сама по себе.
3. Я уже упоминал об этом в своем втором комментарии..
4. Если мой ответ вам полезен, вы можете принять его как ответ( нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный.). Это может быть полезно для других членов сообщества. Спасибо