我正在我网站的子文件夹中创建自定义cms。我在 www.mysite.com/cms/
由于共享主机,我无法制作虚拟主机,但我设法通过放置 url 消除了/public
的需要RewriteCond %{REQUEST_URI} !^/cms/public/.*$
RewriteRule ^(.*)$ /cms/public/$1 [L]
在我的 CMS 文件夹中的 .htaccess 文件中。
问题是,干净的网址可以工作 www.mysite.com/cms/public/显示Laravel入门页面。但是 www.mysite.com/cms/给了我一个 404 未找到错误,www.mysite.com/cms/index.php 显示了 Laravel 入门页面。
我已经在应用程序中设置了 url 数组元素.php
'url' => 'http://www.mysite.com/cms/',
和索引元素
'index' => '',
有人遇到过这个问题吗?
要在共享主机上使用laravel,我建议尝试一下。
顺便说一下,在您的 .htaccess 中,您只是重定向到公共目录中所有不存在的请求查询以索引.php。因为事实上,你应该用 url.com/public 访问。
也许如果您要将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';
我还没有测试过这个,但它应该可以工作。如果有任何问题,请告诉我,并会看看可以相应地更改什么。