我最近将操作系统从Windows切换到Mac,我在本地运行时出现问题。我在/ Applications / MAMP下安装了MAMP。
/Applications/MAMP/htdocs/.htaccess文件:
RewriteEngine On
RewriteBase /abc/
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule (.+\.(?:gif|png|jpe?g|css|js|woff|ttf))$ /abc/$1 [NC,L]
RewriteRule .* /abc/index.php [L]
这完全适用于我的Windows环境,但现在它只加载一些资源并引发以下错误:
Not Found (404) - HTTP 404 (GET /index.php)
array(1) {
[0]=>
array(6) {
["file"]=>
string(42) "/Applications/MAMP/htdocs/abc/index.php"
["line"]=>
int(27)
["function"]=>
string(3) "run"
["class"]=>
string(4) "Base"
["type"]=>
string(5) "->"
["args"]=>
array(0) {
}
}
}
我的网络显示它正在尝试获取localhost:8888 / abc / index.php,但它正在接收404,即使这是正确的路径。
我很确定这是我的.htaccess文件的错误,因为我的图片和字体加载正确。
答案 0 :(得分:2)
将我的评论翻译成答案。
看起来错误是由于index.php
默认情况下没有为文件夹加载。您需要将此行放在.htaccess的顶部。
DirectoryIndex index.php