На нашем сайте, основанном на ZF, если URL содержит $$$
или ~
в сегменте контроллера / действия, он не воспринимается как ошибка 404, вместо этого они попадают на контроллер / действие без символа, но когда он пытается загрузить скрипт вида, файл скрипта вида все еще имеет этот символ, что вызывает ошибку.
Например:
site.com/index$$$
script 'index$$$/index.phtml' not found in path
site.com/index-$$$
script 'index-$$$/index.phtml' not found in path
site.com/index~
script 'index~/index.phtml' not found in path
site.com/index/index~
script 'index/index~.phtml' not found in path
Они должны быть пойманы как ошибка 404, и вне сайта может быть поймано 404 ошибки, если контроллер / действие не существует.
ex: /badurl$$$, /non/existing~
Пример: http://framework.zend.com/index.$$$/index~
Существуют ли какие-либо проблемы / решения для этого?
Заранее спасибо!
PS: мы все еще используем ZF 1.0.3, но это также влияет на другие сайты, которые находятся в 1.8.2.
Обновление: Это содержимое .htaccess
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/search$
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule . /search/?%1 [R=301,L]
# Redirect all https urls to http
# These are the pages excluded on the redirection
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !^/minify/.*
RewriteCond %{REQUEST_URI} !^/myaccount/.*
RewriteCond %{REQUEST_URI} !^/akamai/.*
RewriteCond %{REQUEST_URI} !^/navigation/.*
RewriteCond %{REQUEST_URI} !^/cache/.*
RewriteCond %{REQUEST_URI} !^/includes/.*
RewriteCond %{REQUEST_URI} !^/images/.*
RewriteCond %{REQUEST_URI} !^/pdf/.*
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
######################################################
# if non-PHP file is requested, display the file #
RewriteRule \.(js|ico|txt|gif|jpg|png|css|xml|swf|zip|pdf|gz)$ - [L,NC]
# if PHP file is requested and it exists, display the file #
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.php$ - [L]
# redirect everything else to controller #
RewriteCond %{REQUEST_URI} !^/server-status.*
RewriteRule .+$ index.php [L]
# Disable Etags
FileETag none