Как исправить то, что urlManager игнорирует всё до index.php в запросе?
Мне нужно перенаправить всё, что идет на мойсайт.ком/phpBB3/index.php?тут_что_угодно на 404. Но проблема в том, что urlManager игнорирует всё до index.php в запросе.
То есть я могу написать даже мойсайт.ком/dfdfd/dfdfdf/dfdfd/fd/fdf/index.php/ или мойсайт.ком/index.php/index.php/index.php/index.php/index.php/ и он будет вести на site/index.
Как это решить?
# позволяем yii перехватывать запросы к несуществующим PHP-файлам
set $fsn /$yii_bootstrap;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
fastcgi_pass php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
# PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
fastcgi_read_timeout 300;
}
# не позволять nginx отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
}
server {
set $host_path "/var/www/sites/мой_сайт/backend";
access_log /var/www/sites/мой_сайт/log/access_back.log;
error_log /var/www/sites/мой_сайт/log/error_back.log;
# позволяем yii перехватывать запросы к несуществующим PHP-файлам
set $fsn /$yii_bootstrap;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
fastcgi_pass php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
# PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
fastcgi_read_timeout 300;
}
# не позволять nginx отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
можно создать папку phpBB3 в ней файл index.php, в котором просто вывести ошибку, дожно работать при стандартных настройках сервера. Да и запрос будет легче, минуя подключения ядра yii