У меня есть приложение Nette (nette 2.3), работающее на WampServer (3.1.3). У него vhosts_alias_module не закомментирован в httpd.conf и в файле httpd-vhosts.conf, который у меня есть:
...
<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>
Песочница.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 должно решить, что произойдет. И это работает для любого URL, который я пробовал, кроме веб. Итак
sandbox.local/settings
работает, настройки контроллера в единицах и всё нормально. Но когда я пытаюсь
sandbox.local/web
Нетт даже не запускается, сервер бросает:
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
Это странно, потому что с такой же конфигурацией (и, возможно, позже) я смог сделать эту работу (дома). Когда я создаю «web» каталог внутри / www / nette-doctrine-base / www и помещаю туда index.html, он показывает содержимое каталога, как если бы не было перенаправления.
В чем здесь проблема?