У меня есть .htaccess
файл, который выглядит так:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Если я захожу на свой сайт, с которым я тестирую, скажем, http://www.example.com/,, страница индекса загружается правильно.
Это приложение Zend Framework, и поэтому оно должно маршрутизировать вещи на мои контроллеры, как это происходит правильно, если я перейду к http://www.example.com/index/index или http://www.example.com/index,, указывающим действие контроллер +, и контроллер соответственно.
Это также работает, если я делаю что-то вроде http://www.example.com/index/test,, где я определил другое действие на контроллере индекса под названием test.
Но если я сделаю TestController.php
файл и попытаюсь перейти к http://example.com/test/, Apache вернется:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /path/to/website/root/public/index.php was not found on this server.</p>
<hr>
<address>Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch Phusion_Passenger/2.0.3 mod_perl/2.0.3 Perl/v5.8.8 Server at www.example.com Port 80</address>
</body></html>
Кто-нибудь может увидеть, что я облажался здесь?
Billy3
РЕДАКТИРОВАТЬ: конфигурация для моего сайта выглядит примерно так:
Alias /MySiteRoot/ "/usr/local/vsites/something/www/"
<Directory /usr/local/vsites/something/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>