{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/comments/224636102","pull_request_review_id":164053010,"id":224636102,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNDYzNjEwMg==","diff_hunk":"@@ -55,9 +55,101 @@ Because browsers make requests to Internet-based hosts for client-side pages, we\n \n ## App base path\n \n-The app base path is the virtual app root path on the server. For example, an app that resides on the Contoso server in a virtual folder at `CoolBlazorApp/` is reached at `https://www.contoso.com/CoolBlazorApp` and has a virtual base path of `CoolBlazorApp/`. By setting the app base path to `CoolBlazorApp/`, the app is made aware of where it virtually resides on the server. The app can use the app base path to construct URLs relative to the app root from a component that isn't in the root directory. This allows components that exist at different levels of the directory structure to build links to other resources at locations throughout the app. The app base path is also used to intercept hyperlink clicks where the `href` target of the link is within the app base path URI space&mdash;the Blazor router handles the internal navigation.\n+The app base path is the virtual app root path on the server. For example, an app that resides on the Contoso server in a virtual folder at `/CoolBlazorApp/` is reached at `https://www.contoso.com/CoolBlazorApp` and has a virtual base path of `/CoolBlazorApp/`. By setting the app base path to `CoolBlazorApp/`, the app is made aware of where it virtually resides on the server. The app can use the app base path to construct URLs relative to the app root from a component that isn't in the root directory. This allows components that exist at different levels of the directory structure to build links to other resources at locations throughout the app. The app base path is also used to intercept hyperlink clicks where the `href` target of the link is within the app base path URI space&mdash;the Blazor router handles the internal navigation.\n \n-In many hosting scenarios, the server's virtual path to the app is the root of the app. In these cases, the app base path is a forward slash (`<base href=\"/\" />`), which is the default configuration for a Blazor app. In other hosting scenarios, such as GitHub Pages and IIS virtual directories, the app base path must be set to the server's virtual path to the app. To set the Blazor app's base path, add or update the **&lt;base&gt;** tag in *index.html* on the **&lt;head&gt;** tag. Set the `href` attribute value to `<virtual-path>/` (the trailing slash is required), where `<virtual-path>/` is the full virtual app root path on the server for the app.\n+In many hosting scenarios, the server's virtual path to the app is the root of the app. In these cases, the app base path is a forward slash (`<base href=\"/\" />`), which is the default configuration for a Blazor app. In other hosting scenarios, such as GitHub Pages and IIS virtual directories, the app base path must be set to the server's virtual path to the app. To set the Blazor app's base path, add or update the `<base>` tag in *index.html* found within the `<head>` tag elements. Set the `href` attribute value to `<virtual-path>/` (the trailing slash is required), where `<virtual-path>/` is the full virtual app root path on the server for the app. In the preceding example, the virutal path is set to `CoolBlazorApp/`: `<base href=\"CoolBlazorApp/\" />`.\n+\n+For an app with a non-root virtual path configured (for example, `<base href=\"CoolBlazorApp/\" />`), the app fails to find its resources *when run locally*. To overcome this problem during local development and testing, you can supply a *path base* argument that matches the `href` value of the `<base>` tag at runtime.\n+\n+To pass the path base argument with the root path (`/`) when running the app locally, execute the following command from the Blazor app's directory:\n+\n+```console\n+dotnet run --pathbase=/CoolBlazorApp\n+```\n+\n+The app responds locally at `http://localhost:port/CoolBlazorApp`.\n+\n+For more information, see the [path base host configuration value](#path-base) section.\n+\n+> [!IMPORTANT]\n+> If a Blazor app uses the [client-side (in-process) hosting model](xref:client-side/blazor/host-and-deploy/hosting-models#client-side-in-process-hosting-model) (based on the **Blazor** project template) and is hosted as an IIS sub-application in an ASP.NET Core app, it's important to disable the inherited ASP.NET Core Module handler. Remove the handler in the Blazor app's published *web.config* file by adding a `<handlers>` section to the file:","path":"docs/host-and-deploy/index.md","position":23,"original_position":23,"commit_id":"562dfb9e686f1bf075b2f7bd60a812ecfaa314a3","original_commit_id":"562dfb9e686f1bf075b2f7bd60a812ecfaa314a3","user":{"login":"danroth27","id":1874516,"node_id":"MDQ6VXNlcjE4NzQ1MTY=","avatar_url":"https://avatars2.githubusercontent.com/u/1874516?v=4","gravatar_id":"","url":"https://api.github.com/users/danroth27","html_url":"https://github.com/danroth27","followers_url":"https://api.github.com/users/danroth27/followers","following_url":"https://api.github.com/users/danroth27/following{/other_user}","gists_url":"https://api.github.com/users/danroth27/gists{/gist_id}","starred_url":"https://api.github.com/users/danroth27/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danroth27/subscriptions","organizations_url":"https://api.github.com/users/danroth27/orgs","repos_url":"https://api.github.com/users/danroth27/repos","events_url":"https://api.github.com/users/danroth27/events{/privacy}","received_events_url":"https://api.github.com/users/danroth27/received_events","type":"User","site_admin":false},"body":"Same comments as above. ","created_at":"2018-10-11T23:42:27Z","updated_at":"2018-10-11T23:48:25Z","html_url":"https://github.com/aspnet/Blazor.Docs/pull/229#discussion_r224636102","pull_request_url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/comments/224636102"},"html":{"href":"https://github.com/aspnet/Blazor.Docs/pull/229#discussion_r224636102"},"pull_request":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229"}}},"pull_request":{"url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229","id":209372872,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5MzcyODcy","html_url":"https://github.com/aspnet/Blazor.Docs/pull/229","diff_url":"https://github.com/aspnet/Blazor.Docs/pull/229.diff","patch_url":"https://github.com/aspnet/Blazor.Docs/pull/229.patch","issue_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/229","number":229,"state":"open","locked":false,"title":"Document Blazor dev server --pathbase arg","user":{"login":"guardrex","id":1622880,"node_id":"MDQ6VXNlcjE2MjI4ODA=","avatar_url":"https://avatars1.githubusercontent.com/u/1622880?v=4","gravatar_id":"","url":"https://api.github.com/users/guardrex","html_url":"https://github.com/guardrex","followers_url":"https://api.github.com/users/guardrex/followers","following_url":"https://api.github.com/users/guardrex/following{/other_user}","gists_url":"https://api.github.com/users/guardrex/gists{/gist_id}","starred_url":"https://api.github.com/users/guardrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guardrex/subscriptions","organizations_url":"https://api.github.com/users/guardrex/orgs","repos_url":"https://api.github.com/users/guardrex/repos","events_url":"https://api.github.com/users/guardrex/events{/privacy}","received_events_url":"https://api.github.com/users/guardrex/received_events","type":"User","site_admin":false},"body":"Fixes #154 \r\n\r\nIs `--pathbase` the only one?","created_at":"2018-08-19T18:27:38Z","updated_at":"2018-10-11T23:48:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bc5758debdbbe11362671326b1dc98dfb5e61ef0","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229/commits","review_comments_url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229/comments","review_comment_url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/229/comments","statuses_url":"https://api.github.com/repos/aspnet/Blazor.Docs/statuses/562dfb9e686f1bf075b2f7bd60a812ecfaa314a3","head":{"label":"aspnet:guardrex/dev-server-param","ref":"guardrex/dev-server-param","sha":"562dfb9e686f1bf075b2f7bd60a812ecfaa314a3","user":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":127467709,"node_id":"MDEwOlJlcG9zaXRvcnkxMjc0Njc3MDk=","name":"Blazor.Docs","full_name":"aspnet/Blazor.Docs","private":false,"owner":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aspnet/Blazor.Docs","description":"Docs for Blazor","fork":false,"url":"https://api.github.com/repos/aspnet/Blazor.Docs","forks_url":"https://api.github.com/repos/aspnet/Blazor.Docs/forks","keys_url":"https://api.github.com/repos/aspnet/Blazor.Docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Blazor.Docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Blazor.Docs/teams","hooks_url":"https://api.github.com/repos/aspnet/Blazor.Docs/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Blazor.Docs/events","assignees_url":"https://api.github.com/repos/aspnet/Blazor.Docs/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Blazor.Docs/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Blazor.Docs/tags","blobs_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Blazor.Docs/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Blazor.Docs/languages","stargazers_url":"https://api.github.com/repos/aspnet/Blazor.Docs/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Blazor.Docs/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Blazor.Docs/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Blazor.Docs/subscription","commits_url":"https://api.github.com/repos/aspnet/Blazor.Docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Blazor.Docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Blazor.Docs/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Blazor.Docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Blazor.Docs/merges","archive_url":"https://api.github.com/repos/aspnet/Blazor.Docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Blazor.Docs/downloads","issues_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Blazor.Docs/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Blazor.Docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Blazor.Docs/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Blazor.Docs/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Blazor.Docs/deployments","created_at":"2018-03-30T19:56:23Z","updated_at":"2018-10-11T22:13:25Z","pushed_at":"2018-10-11T23:19:33Z","git_url":"git://github.com/aspnet/Blazor.Docs.git","ssh_url":"git@github.com:aspnet/Blazor.Docs.git","clone_url":"https://github.com/aspnet/Blazor.Docs.git","svn_url":"https://github.com/aspnet/Blazor.Docs","homepage":"https://blazor.net/","size":6317,"stargazers_count":78,"watchers_count":78,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":76,"mirror_url":null,"archived":false,"open_issues_count":25,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":76,"open_issues":25,"watchers":78,"default_branch":"master"}},"base":{"label":"aspnet:master","ref":"master","sha":"2f1aaa093174646b0c5f75dc55a1ea6526c6fc9b","user":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":127467709,"node_id":"MDEwOlJlcG9zaXRvcnkxMjc0Njc3MDk=","name":"Blazor.Docs","full_name":"aspnet/Blazor.Docs","private":false,"owner":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aspnet/Blazor.Docs","description":"Docs for Blazor","fork":false,"url":"https://api.github.com/repos/aspnet/Blazor.Docs","forks_url":"https://api.github.com/repos/aspnet/Blazor.Docs/forks","keys_url":"https://api.github.com/repos/aspnet/Blazor.Docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Blazor.Docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Blazor.Docs/teams","hooks_url":"https://api.github.com/repos/aspnet/Blazor.Docs/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Blazor.Docs/events","assignees_url":"https://api.github.com/repos/aspnet/Blazor.Docs/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Blazor.Docs/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Blazor.Docs/tags","blobs_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Blazor.Docs/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Blazor.Docs/languages","stargazers_url":"https://api.github.com/repos/aspnet/Blazor.Docs/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Blazor.Docs/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Blazor.Docs/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Blazor.Docs/subscription","commits_url":"https://api.github.com/repos/aspnet/Blazor.Docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Blazor.Docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Blazor.Docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Blazor.Docs/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Blazor.Docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Blazor.Docs/merges","archive_url":"https://api.github.com/repos/aspnet/Blazor.Docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Blazor.Docs/downloads","issues_url":"https://api.github.com/repos/aspnet/Blazor.Docs/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Blazor.Docs/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Blazor.Docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Blazor.Docs/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Blazor.Docs/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Blazor.Docs/deployments","created_at":"2018-03-30T19:56:23Z","updated_at":"2018-10-11T22:13:25Z","pushed_at":"2018-10-11T23:19:33Z","git_url":"git://github.com/aspnet/Blazor.Docs.git","ssh_url":"git@github.com:aspnet/Blazor.Docs.git","clone_url":"https://github.com/aspnet/Blazor.Docs.git","svn_url":"https://github.com/aspnet/Blazor.Docs","homepage":"https://blazor.net/","size":6317,"stargazers_count":78,"watchers_count":78,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":76,"mirror_url":null,"archived":false,"open_issues_count":25,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":76,"open_issues":25,"watchers":78,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229"},"html":{"href":"https://github.com/aspnet/Blazor.Docs/pull/229"},"issue":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/229"},"comments":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/issues/229/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/pulls/229/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/Blazor.Docs/statuses/562dfb9e686f1bf075b2f7bd60a812ecfaa314a3"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"danroth27"}}