繁体   English   中英

使用Laravel进行子域路由

[英]Subdomain routing with Laravel

我在正确设置子域路由时遇到了一些麻烦。 我认为我在计算机上的htaccess或虚拟主机方面存在一些问题。

我的路线如下所示:

Route::group(array('domain' => 'store.munia.dk'), function()
{
    Route::get('/', array('as' => 'store', 'uses' => 'Store\PageController@getHome'));
    Route::get('faq', array('as' => 'store.faq', 'uses' => 'Store\PageController@getFaq'));
    Route::get('documentation', array('as' => 'store.documentation', 'uses' => 'Store\PageController@getDocumentation'));
}

这在本地有效,但是在我的生产机器上,只有第一条路线可用。 其他路线将获得:

找不到:在此服务器上找不到请求的URL /文档。

从Apache。

有谁知道这里的问题是什么? 我正在使用Laravel的默认htaccess文件,但尚未对Apache设置进行任何更改。

这是我的虚拟主机配置:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这里缺少的是虚拟主机配置中的AllowOverride选项。 此选项指定是否将尊重.htaccess文件并应用其内容。 这应该使其运行:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    <Directory "/var/www/html">
        AllowOverride all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

您应该在apache2中启用mod_rewrite 您可以在您的网络服务器中轻松完成此操作

sudo a2enmod rewrite

之后,您应该重新启动apache2

sudo service apache2 restart

那应该解决你的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM