Php 无法在apache服务器上加载资源

Php 无法在apache服务器上加载资源,php,css,apache,Php,Css,Apache,我有一个网站,我想暂时托管在我的VPS上,但我遇到了一个问题 在“站点可用”中创建“.conf”文件并激活站点后,许多文件没有正确链接到 这是我的.conf配置: # domain: mynewsdesk.dev # public: /var/www/html/mynewsdesk.dev/public <VirtualHost *:80> ServerAdmin anderson@nothingandco.com ServerName mynewsdesk.d

我有一个网站,我想暂时托管在我的VPS上,但我遇到了一个问题

在“站点可用”中创建“.conf”文件并激活站点后,许多文件没有正确链接到

这是我的.conf配置:

# domain: mynewsdesk.dev
# public: /var/www/html/mynewsdesk.dev/public

<VirtualHost *:80>
     ServerAdmin anderson@nothingandco.com
     ServerName mynewsdesk.dev
     ServerAlias www.mynewsdesk.dev
     DirectoryIndex index.php
     DocumentRoot /var/www/html/mynewsdesk.dev/
     ErrorLog /var/www/html/mynewsdesk.dev/public/logs/error.log
     CustomLog /var/www/html/mynewsdesk.dev/public/logs/access.log
     combined
</VirtualHost>
#域:mynewsdesk.dev
#public:/var/www/html/mynewsdesk.dev/public
服务器管理员anderson@nothingandco.com
ServerName mynewsdesk.dev
ServerAlias www.mynewsdesk.dev
DirectoryIndex.php
DocumentRoot/var/www/html/mynewsdesk.dev/
ErrorLog/var/www/html/mynewsdesk.dev/public/logs/error.log
CustomLog/var/www/html/mynewsdesk.dev/public/logs/access.log
合二为一
在chrome inspector中,我看到“加载资源失败:服务器响应状态为404(未找到)”,后面是明显不正确的路径,例如:


我应该更改哪些设置,以便从“mynewsdesk.dev/public/”而不是“mynewsdesk.dev”提取文件?

将您的
文档根目录更改为
/var/www/html/mynewsdesk.dev/public/

或者,如果要运行的脚本位于该目录之外,并且启用了
mod_rewrite
,则可以添加一些重写条件和规则以从
public
返回文件,并将所有其他请求定向到这些脚本

例如,在vhost中:

RewriteEngine on

RewriteCond          %{DOCUMENT_ROOT}/public%{REQUEST_URI}  -f
RewriteRule  ^(.+)$  %{DOCUMENT_ROOT}/public/$1  [L]

RewriteRule ^(.*)$ index.php?$1 [NC,L,QSA]

只是跟进:效果很好!再次感谢