1

我正在我网站的子文件夹中创建自定义 cms。我在 www.mysite.com/cms/ <-- 应用程序、捆绑包、公共等都在那里安装了 laravel 的新副本。

由于共享主机,我无法创建虚拟主机,但我设法通过放置 /public 来消除在 url 中的需要

RewriteCond %{REQUEST_URI} !^/cms/public/.*$
RewriteRule ^(.*)$ /cms/public/$1 [L]

在我的 cms 文件夹中的 .htaccess 文件中。

问题是,干净的 url 可以工作 www.mysite.com/cms/public/ 显示 Laravel 起始页。但是 www.mysite.com/cms/ 给了我一个 404 not found 错误,并且 www.mysite.com/cms/index.php 显示了 Laravel 起始页。

我已将 application.php 中的 url 数组元素设置为

'url' => 'http://www.mysite.com/cms/',

和索引元素

'index' => '',

有没有人遇到过这个问题?

4

2 回答 2

0

也许如果您要将public文件夹的内容上传到/cms,并将其他文件夹的内容上传到/cms_system,您可以更改paths.php文件以反映这一点?

所以,你会有这个:

/cms
    (contents of the public folder, with .htaccess)
/cms_system
    /application
    /bundles
    /laravel
    /storage
    (etc)

您的路径将如下所示:

$paths['sys'] = 'system';
$paths['bundle'] = 'bundles';
$paths['app'] = 'application';
$paths['storage'] = 'storage';
$paths['public'] = '../cms';

我还没有对此进行测试,但它应该可以工作。如果有任何问题,请告诉我,并会看到可以相应更改的内容。

于 2013-02-03T06:19:49.557 回答
0

要在共享主机上使用 laravel,我建议试试这个

顺便说一句,在您的 .htaccess 中,您只是将所有不存在的请求查询重定向到公共目录中的 index.php。因此,您应该使用 url.com/public 访问。

于 2013-02-03T00:25:00.433 回答