我正在尝试同时使用Laravel和Codeigniter,Laravel和Codeigniter都将位于public_html根目录的子文件夹中。
我正在尝试设置.htaccess,以便访问example.com/events
将重定向到Laravel events/public
目录。
这是public_html
中的.htaccess文件,没有其他.htaccess文件。
# for laravel assets inside events/public/{types}/{files}.{ext}
RewriteCond %{REQUEST_URI} (\.css|\.js|\.png|\.jpg|\.ttf|\.woff)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^events/(.*)$ events/public/$1 [L]
# for laravel controller actions
RewriteCond %{REQUEST_URI} events
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.ttf|\.woff)$ [NC]
RewriteRule ^events/(.*)$ events/public/index.php [L]
# for codeigniter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^assets(.*)$ mycommerce/assets$1 [L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^themes(.*)$ mycommerce/themes$1 [L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^sitemap/(.*\.xml)$ mycommerce/xmls/$1 [L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule !^index.php|assets|xmls|themes.*$ index.php
CI一个正常,问题只在Laravel。控制器操作正常,我可以看到我的控制器正在运行,但控制器视图引用的所有资产都显示404. 404显示CI 404,而不显示apache默认404和Laravel 404 。
示例网址为:
http://example.com/events/manage/events
http://example.com/events/js/app.js
任何帮助都会受到赞赏,我从昨天开始就一直处理这个问题。上面.htaccess里面的代码可以在我的本地机器上运行,但是实时服务器似乎无法正常工作。
谢谢!