从子目录网站URL中删除index.php

时间:2015-06-21 10:20:35

标签: php .htaccess laravel mod-rewrite

我目前正在将大量子域名网站转移到子目录网站。例如site1.website.com => website.com/site1。所有这些站点在同一目录中使用相同的代码。代码将读取站点名称并加载正确的数据库(如果存在)。所以我对所有网站都有以下别名格式。

Date

无需解释太多,laravel是一个MVC框架,index.php是我需要路由流量的唯一文件。因此,所有的URL都需要将index.php作为前缀,但这真的很难看,我似乎无法摆脱它。

当网站是子域名时,我尝试了以下工作,但它现在不起作用。当我使用此代码时,website.com / site1 / login将重定向到website.com/login。

Alias  /site1 /var/www/laravel/public 

所有网站都是动态的,所以我不想为每个网站硬编码规则。我有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

为新文件夹设置RewriteBase,如下所示:

RewriteEngine On
RewriteBase /site1/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

答案 1 :(得分:0)

您可以为每个网站的 laravel \ config \ database.php 管理连接。

然后你可以设置所有子域将指向一个位置,现在你需要在添加新网站时更新 database.php 更新。