2016-06-01 3 views
1

У меня проблема с моими маршрутами. У меня есть мои изображения в папках источников /, но когда изображение отсутствует, это вызывает загрузку веб-сайта и будущую проблему с перегрузкой системы.htaccess routing codeigniter

Htaccess:

RewriteCond $1 !^(index\.php|robots\.txt|sources|uploads|captcha|sitemap\.xml|_gapi|robots\.txt|googleaac809c6bcbeb4e8\.html|googlebaf6b56ae3013092\.html|feeds|temp) 
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA] 

Это должно привести к загрузке файлов из этих папок - работает хорошо к этому моменту

Но когда есть изображение отсутствует, например:

<img src="uploads/non_existing_image.jpg"> изображение привычка нагрузки но когда я копирую URL-адрес, сайт будет загружаться правильно, и через некоторое время мой сервер завершится с ошибкой 500.

Есть ли способ решить это в htaccess/php?

Я хочу, чтобы в конечном итоге с 404 ошибки на этой ссылке

ответ

0

я также использовать файл .htaccess с CodeIgniter, даже если у меня это довольно меньше, чем ваш:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

объяснить: RewriteEngine On позволяет переписывание url, RewriteCond %{REQUEST_FILENAME} !-f сообщает htaccess, что запрошенный файл не должен быть существующим файлом, RewriteCond %{REQUEST_FILENAME} !-d сообщает htaccess, что запрошенный файл не должен быть существующим каталогом.

Таким образом, вам не нужно исключать все отдельные файлы и/или расширения и/или каталоги.

0
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 

Просто добавьте в ваш файл .htaccess

1

Не используйте .htaccess для этого, просто добавьте файл index.html в папке изображений также добавить index.html в CSS и JavaScript папку. Когда кто-то попытается нагрузкой вы папка index.html является автоматической загрузкой и не позволяете ваши изображения и т.д.

Это даст результат, как этого

enter image description here