我遵循了这里给出的教程:https://auth0.com/blog/role-based-access-control-rbac-and-react-apps/它在本地主机上运行良好。在VPS(使用Apache2(上部署后,回调url不再工作。当我登录时,我从服务器上得到一个404未找到的页面http://domainename/callback在验证之后。在应用程序中和auth0的授权回调url之间部署时,我已经负责更改回调url。
我尝试在域名中使用#:http://domainame.com/#/callback但它不起作用。我有两个问题:如何使它工作,为什么它在localhost:3000上工作,而在domainname.com上不工作…
好的,交易不是配置react,而是配置apache2。以下是我所做的:
允许重写网页以授权读取.htaccess文件
创建一个包含以下内容的.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
启用模式写入
不要忘记允许Auth0 中的回调url
这里有一些文档可以帮助您:
- https://htaccess.madewithlove.be/
- 如何为Apache 2.2启用mod_rewrite
- react router重定向到index.html并从.htaccess中的url中删除www
- https://gist.github.com/joellongie/e6f4a3b5fa98c521782619e487aca15a
- https://gist.github.com/leocaseiro/4305e06948aa97e77c93
- https://gist.github.com/jxnblk/6137537
- https://www.beyondjava.net/pretty-urls