我无法使用apache / htaccess在生产环境中运行Nuxt

时间:2019-06-26 16:30:09

标签: .htaccess vue.js nuxt.js

我使用Nuxt.js设置了Vue项目以改善页面上的SEO并投入生产,我骑着pm2骑节点服务器在localhost:3000上运行Nuxt,该部分已成功完成,到目前为止没有问题

现在,我需要使用htaccess将域的请求指向本地主机:3000,我尝试了以下配置,并且可以正常工作,但是当使用url访问页面时,它将重定向到站点的索引,然后转到网址页面,这样SEO无法正常工作,某些动态内容也不会加载。看看我的尝试:

RewriteEngine on

# Forcing all incoming requests to HTTPS. 
# HTTPS is required for PWA. If you don't want PWA feature you can deisable next 2 lines

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule "(.*.(jpg|gif|png|svg|js|css|woff2))$" "http://127.0.0.1:3000/$1" [P,NC]
RewriteRule ^(.*) "http://127.0.0.1:3000/$2" [P,L]

访问除索引以外的任何URL时,它将重定向到index,然后发送到目标URL。

@EDIT

我对此配置进行了另一次尝试,除索引外,我在所有页面上均成功,当我第一次加载域时,它提示错误,指出未找到该页面:

  

找不到此页面-返回首页

但是,当我在网站内更改页面并返回首页时,通常只能在第一次加载的情况下才能正常工作,例如在刷新时。

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

DirectoryIndex index.html

RewriteRule ^$ http://127.0.0.1:3000/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:3000/$1 [P,L]

0 个答案:

没有答案