我有一个主网站(example.com)。我在那里使用CodeIgniter框架。
我还会使用一些不同的子文件夹,例如example.com/sub1
,example.com/sub2
。我在这里使用Laravel框架,这些将与example.com完全不同,并存储在不同的文件夹中。当我开始第一个子域时,我在Apache2配置中使用了Alias
,它运行得非常好。但是我现在需要使用第二个子文件夹。我在Apache配置中添加了第二个Alias
sub2,它指向与sub1相同的目录。然后我改变了我的.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
RewriteCond $1 !^(img|js|css)
RewriteCond %{REQUEST_URI} (/evim)
RewriteRule ^ /evim/index.php [L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(img|js|css)
RewriteCond %{REQUEST_URI} (/crm2)
RewriteRule ^ /crm2/index.php [L]
</IfModule>
现在它运作正常。 example.com/sub1和example.com/sub2都运行相同的应用程序。但是在Laravel中,很难找到当前正在运行的子域。在路由中,应用程序不会看到子文件夹名称。例如,如果我使用users/login
路由,那么它会匹配example.com/sub1/users/login
和example.com/sub2/users/login
。我需要用子文件夹名称定义路由。
我正在寻找htaccess或Laravel的解决方案来修复路线。
答案 0 :(得分:0)
我会使用这种模式(作为子域),它也许可以避免问题。
http://site1.foo.com http://site2.foo.com
在CodeIgniter Route.php中,您可以执行以下操作:
$server_link = explode(".", $_SERVER["HTTP_HOST"]);
if ( $server_link[0] == "site1" )
{
$route['default_controller'] = 'home';
// Some Other Routes
}
我认为你可以为Laravel路线做同样的事情。
答案 1 :(得分:0)
我使用int count = 1;
foreach (TableCell c in e.Row.Cells)
{
bool b = Convert.ToBoolean(((GridViewRow)e.Row.DataItem).Row["Checked"]); //error
if (count == e.Row.Cells.Count)
{
c.Text = "<input type=\"checkbox\" " + ((b) ? "checked" : "") + "/>";
}
count++;
}
来获取加载的网站。