我全新安装了 Laravel。它在我的本地机器上运行得很好。但在服务器上,路由无法正常工作。
这是我的本地主机上的 URL 的样子:
localhost/articles/14
但是当我在生产服务器上尝试相同的 URL 时,它不起作用。但如果我输入这样的 URL,它确实有效:
mydomain.com/index.php/articles/14
因此,在其之间添加index.php就可以正常工作了。并且索引路由工作没有问题。所以这看起来像是某种重定向问题。
这是我的 .htaccess 文件的样子:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我尝试将 RewriteBase /mypath/ 添加到 .htaccess 中,但没有成功。
我在谷歌上搜索并尝试了一些建议,但没有运气。
检查您的服务器上是否启用了
mod_rewrite
。
此外,出于安全原因,您的服务器上可能会禁用
.htaccess
。
尝试将 mod_rewrite
放在 <VirtualHost>
或 <Directory>
部分。
我在我的 Laravel 应用程序中遇到了同样的问题,只需解决它