Laravel重定向到一个路由,但然后apache给出了404错误

Pro*_*nça 6 php apache .htaccess redirect laravel

我有一个网站在不同的网址(登台)上工作在同一台服务器上,但现在我已经部署了网站,基本网址("/")被重定向到登录网址(所以laravel有点工作) ,但后来我从apache得到404错误.

如果我使用sub.domain.com/index.php/route,它可以工作,但如果我使用sub.domain.com/route重定向到登录路由并给出404错误.

我还更改了routes.php以返回路径"/"中的登录视图,并正确显示登录表单.

Mit*_*ate 17

问题可能来自Apache服务器中名为rewrite module的模块.在Windows中,您可以从httpd.conf取消注释此行

#LoadModule rewrite_module modules/mod_rewrite.so

我正在运行Ubuntu 14.04并使用它启用它

sudo a2enmod rewrite

在Apache重启时尝试这些.它也可能对你有用.


Pro*_*nça 16

添加后

AllowOverride All
Run Code Online (Sandbox Code Playgroud)

到vhost配置,让它工作.可能默认配置不允许重定向?

这是我的最终(和工作)vhost配置:

DocumentRoot /var/www/sitefolder/public
 ServerName site.domain.com
 <Directory /var/www/sitefolder/public>
  AllowOverride All
  allow from all
  Options +Indexes
</Directory>
Run Code Online (Sandbox Code Playgroud)

  • 是的。这里发生的事情是/public/中有一个.htaccess修复了隐藏index.php的url。然而,要运行它需要AllowOverride All,因为.htaccess是关于发布/etc/apache(或您的发行版放置它的任何地方)配置集群中未指定的进一步apache服务器配置 (3认同)

fzy*_*cjy 7

为了VirtualHost

只需将这些行添加到httpd.conf您的 apache 中:

<Directory /var/www/sitefolder/public>
  AllowOverride All
  allow from all
  Options +Indexes
</Directory>
Run Code Online (Sandbox Code Playgroud)

或者您可以将第一行替换为:

<Directory />
Run Code Online (Sandbox Code Playgroud)

如果一切都不起作用,您可以尝试:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)