Apache2 从Nuxt中的请求获取当前域名

Apache2 从Nuxt中的请求获取当前域名,apache2,nuxt.js,hostname,server-side-rendering,Apache2,Nuxt.js,Hostname,Server Side Rendering,如何从服务器端的请求中获取当前域名 我的基于Nuxt的网站可以从不同的域访问。我想从用户访问网站的地方获取域名。我该怎么做 我试图为此编写一个中间件,但它总是显示localhost:3000 export default function({ store, req }) { if (process.server) store.commit('hostname', req.headers.host) } 知道如何解决这个问题吗?我可以通过以下方式获得在服务器上声明该功能的域名: export

如何从服务器端的请求中获取当前域名

我的基于Nuxt的网站可以从不同的域访问。我想从用户访问网站的地方获取域名。我该怎么做

我试图为此编写一个中间件,但它总是显示localhost:3000

export default function({ store, req }) {
  if (process.server) store.commit('hostname', req.headers.host)
}

知道如何解决这个问题吗?

我可以通过以下方式获得在服务器上声明该功能的域名:

export default function (req, res, next) {
    console.log(req.headers.host)
}

如果需要将数据提交到存储,则可以在环境中保存数据并在客户端恢复数据。

如果使用Vuex,则可以使用
nuxtServerInit
操作访问请求标头

在我的示例中,我将域存储在Vuex中,以便可以在应用程序中的任何位置访问它,因为该中间件在所有其他中间件启动之前启动

store/index.js

export const state = () => ({
    domain: '',
});

export const mutations = {
    setDomain(state, domain) {
        state.domain = domain;
    },
};

export const actions = {
    nuxtServerInit(store, context) {
        store.commit('setDomain', context.req.headers.host);
    },
};

export const getters = {
    domain: (state) => state.domain,
};
export default function ({ route, store, redirect }) {
    console.log('hey look at that', store.getters['domain']);
}
export default {
    ...

    router: {
        middleware: 'domain'
    },
}
中间件/domain.js

export const state = () => ({
    domain: '',
});

export const mutations = {
    setDomain(state, domain) {
        state.domain = domain;
    },
};

export const actions = {
    nuxtServerInit(store, context) {
        store.commit('setDomain', context.req.headers.host);
    },
};

export const getters = {
    domain: (state) => state.domain,
};
export default function ({ route, store, redirect }) {
    console.log('hey look at that', store.getters['domain']);
}
export default {
    ...

    router: {
        middleware: 'domain'
    },
}
numxt.config.js

export const state = () => ({
    domain: '',
});

export const mutations = {
    setDomain(state, domain) {
        state.domain = domain;
    },
};

export const actions = {
    nuxtServerInit(store, context) {
        store.commit('setDomain', context.req.headers.host);
    },
};

export const getters = {
    domain: (state) => state.domain,
};
export default function ({ route, store, redirect }) {
    console.log('hey look at that', store.getters['domain']);
}
export default {
    ...

    router: {
        middleware: 'domain'
    },
}