我使用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]