我已将Slim 3网站上传到我的服务器。如果我去,一切都很完美 mydomain.com/public。
但是,只要我向根添加.htaccess,用户就不需要输入" / public"我开始在某些页面上找到Page Not Found。并非所有这些网站中的很多网站似乎工作得很好,但有几页说“找不到页面”#34;这只发生在Chrome中。在Firefox,Opera和Safari中,页面加载但图像不会(甚至在同一页面中,在某些页面中,图像可能会在浏览器中加载而在另一页中不会加载)。
这是我在根目录中使用的.htaccess(与公共中的.htaccess不同,将所有内容重定向到index.php)。
这是进入/ public目录
的标准.htaccessRewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
这就是我在根目录中所拥有的:
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(?!public)(.*)$ /public/$1 [L]
我也试过
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
和
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /public/index.php [QSA,L]
无论我使用哪一种,只要我设置.htaccess指向/ public,问题就会开始发生。
我已将此设置用于其他网站,并且完全没有任何问题。现在我们应该上线,找不到一些页面。