Laravel + Apache +路由配置资产?

时间:2019-02-13 16:19:03

标签: php laravel

尝试将我的应用投入与apache2路线和Laravel溃败有关的生产时遇到以下问题。

我所拥有的:

Server1-域www.example.com <---与其他Apache和网站一起使用

server2-域www.example.com/myapp <---我的App制作服务器

Laravel 5.5 阿帕奇2 PHP 7.1

Apache confs

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/html >
               AllowOverride All
     </Directory>
</VirtualHost>

.htpasswd文件              选项-MultiViews     

RewriteEngine On

# Redirect www to non-www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

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

问题是,当我在浏览器中输入www.example.com/myapp时,我访问server2,但我的CSS资产却调用了server1之类的www.example.com/css/app.css,而不是调用了www.example.com/myapp。 /app.css。

我该如何解决这个问题?

谢谢您的支持。

最佳

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,则可以使用html / blade文件头部的base元素。像

<head>
    <base href="www.example.com/myapp">
    <link rel="stylesheet" href="css/app.css">
</head>

这会将链接解析为www.example.com/myapp/css/app.css

更多信息,请访问https://www.w3schools.com/tags/tag_base.asp