mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
---
|
|
title: 'useRequestURL'
|
|
description: 'Access the incoming request URL with the useRequestURL composable.'
|
|
links:
|
|
- label: Source
|
|
icon: i-simple-icons-github
|
|
to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/composables/url.ts
|
|
size: xs
|
|
---
|
|
|
|
`useRequestURL` is a helper function that returns an [URL object](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) working on both server-side and client-side.
|
|
|
|
::important
|
|
When utilizing [Hybrid Rendering](/docs/guide/concepts/rendering#hybrid-rendering) with cache strategies, all incoming request headers are dropped when handling the cached responses via the [Nitro caching layer](https://nitro.unjs.io/guide/cache) (meaning `useRequestURL` will return `localhost` for the `host`).
|
|
|
|
You can define the [`cache.varies` option](https://nitro.unjs.io/guide/cache#options) to specify headers that will be considered when caching and serving the responses, such as `host` and `x-forwarded-host` for multi-tenant environments.
|
|
::
|
|
|
|
::code-group
|
|
|
|
```vue [pages/about.vue]
|
|
<script setup lang="ts">
|
|
const url = useRequestURL()
|
|
</script>
|
|
|
|
<template>
|
|
<p>URL is: {{ url }}</p>
|
|
<p>Path is: {{ url.pathname }}</p>
|
|
</template>
|
|
```
|
|
|
|
```html [Result in development]
|
|
<p>URL is: http://localhost:3000/about</p>
|
|
<p>Path is: /about</p>
|
|
```
|
|
|
|
::
|
|
|
|
::tip{icon="i-simple-icons-mdnwebdocs" color="gray" to="https://developer.mozilla.org/en-US/docs/Web/API/URL#instance_properties" target="_blank"}
|
|
Read about the URL instance properties on the MDN documentation.
|
|
::
|