我刚刚在运行于apache服务器中的CentOS中制作了一个简单的laravel应用程序。问题是我总是会出错:
重定向到其他页面时显示“未找到”。
该如何解决?我对使用CentOS和apache服务器是完全陌生的。
注意:它在Windows和xampp上运行正常。
这是我的.htaccess文件
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
答案 0 :(得分:0)
很可能您没有设置Apache来正确地重写您的路由并将其交给index.php文件。查看this页面底部附近的Apache部分,并确保您的重定向与该页面的布局相同。
答案 1 :(得分:0)
尝试使用index.php进行路由吗?像yourdomain.com/index.php/route-url一样,并检查其是否有效。如果您的主页有效而其他页面无效,则您的重写规则未设置。
sudo a2enmod rewrite on
您的服务器终端,然后重新启动apache
AllowOverride all
然后在您的laravel的.htaccess文件中添加以下内容:
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]