我在WampServer(3.1.3)上运行了Nette应用程序(nette 2.3)。在httpd.conf和我拥有的httpd-vhosts.conf文件中没有输入vhosts_alias_module:
...
<VirtualHost *:80>
ServerAdmin webmaster@mail.net
ServerName sandbox.local
ServerAlias sandbox.local
DocumentRoot "${INSTALL_DIR}/www/nette-doctrine-base/www"
<Directory "${INSTALL_DIR}/www/nette-doctrine-base/www">
AllowOverride All
Options Indexes FollowSymLinks MultiViews
</Directory>
sandbox.local当然在hosts文件中。当我输入此地址时,应用程序正在运行。
/ www / nette-doctrine-base内部的.htaccess文件如下:
RewriteEngine On
RewriteBase /www
RewriteRule (.*) www/$1 [L]
在/ www / nette-doctrine-base / www里面是.htaccess
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>
</IfModule>
因此,它应该将每个请求(图像等除外)重定向到索引,并且Nette应用程序应确定会发生什么。它适用于我尝试过的任何网址(网络除外)。所以
sandbox.local/settings
工作正常,控制器设置初始化,一切正常。但是当我尝试
sandbox.local/web
Nette甚至无法启动,服务器会抛出:
Not Found
The requested URL /web was not found on this server.
Apache/2.4.33 (Win64) PHP/5.6.35 Server at sandbox.local Port 80
这很奇怪,因为使用相同的配置(也许以后是沼泽),我能够(在家中)完成这项工作。当我在/ www / nette-doctrine-base / www内创建“ web”目录并将index.html放在此处时,它将显示目录的内容,就像没有重定向一样。 这是什么问题?