Magento 2.3 : Serving site from pub, now images get 404
My original installation of v2.3.0 was working fine. All images showed up for categories. I decided (after setting up a lot of categories and images for those categories) to serve the site from pub
.
The only code customization my site has is a modification for a bug that is apparently fixed in v2.3.1. Other than that, i have no third party modules installed or other code customizations.
I followed docs to make site more secure using Ubuntu and Apache2 (not nginx). When i visit a page with images (front-end or admin area), i get a 404 not found for the image. Page loads text and css but console outputs:
GET http://192.168.5.10/pub/media/Shoes/nike.jpg 404 (Not Found)
What i've tried that did not work:
- Looking for errors in
/var/log/apache2/error.log
and/var/log/apache2/error.log
(found nothing other than a record of 404 but no permission errors.) - Checked
magento/var/log/system.log
,magento/var/log/exception.log
andmagento/var/log/debug.log
, no permission errors.
Switching modes:
bin/magento deploy:mode:set production
bin/magento cache:flush
bin/magento deploy:mode:set developer
bin/magento cache:flush
Made sure had default
.htaccess
inmagento
directory.Made sure
pub/
had default.htaccess
.Doc:
bin/magento setup:static-content:deploy -f
"Flush Cache Storage", "Flush Magento Cache", "Flush Catalog Images Cache", and "Flush Static Files Cache" from admin area > System > Cache Management.
Refresh all cache types from admin area > System > Cache Management.
Re-ran permissions as root
cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :www-data . && chmod u+x bin/magento
Ran alternative permissions commands (does same thing as above):
cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento
Checking permissions of example image from magento directory:
magentouser$ ls -al pub/media/Shoes/nike.jpg
-rw-rw-r-- 1 magentouser www-data 77645 Jan 15 17:14 pub/media/Shoes/nike.jpg
rm -rf var/cache
bin/magento indexer:reindex
Checked my
/etc/apache2/sites-available/000-default.conf
Listen 8080
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory "/var/www/html">
AllowOverride all
</Directory>
Re-started
systemctl restart apache2
Change DocumentRoot back to
/var/www/html/magento2
, and restartedapache2
.
Note: i was in the wrong demo server the first time i tried step 16 again. I had spun up so many test servers trying to re-duplicate the issue in different ways (too many terminals open trying to test different variations without attention to IP). I noticed while deleting all the demo servers from the network that the command was in the wrong one. After switching server 56 back to documentRoot to /var/www/html/magento2, and restarting
apache
on server 56, all images show up again normally. but the URL is still like (example):http://192.168.5.10/pub/media/Shoes/nike.jpg
. I'm still not sure how "pub" got in there or even how i would add "pub" if it was't there and I wanted it, or how to remove it from the url and make the system look in the right place without having to re-upload all my images. This test confirmed again that when not serving frompub
, the site works fine...but images were already being served in a strange way.
How do you resolve this?
magento2 magento2.3 server-setup 404
add a comment |
My original installation of v2.3.0 was working fine. All images showed up for categories. I decided (after setting up a lot of categories and images for those categories) to serve the site from pub
.
The only code customization my site has is a modification for a bug that is apparently fixed in v2.3.1. Other than that, i have no third party modules installed or other code customizations.
I followed docs to make site more secure using Ubuntu and Apache2 (not nginx). When i visit a page with images (front-end or admin area), i get a 404 not found for the image. Page loads text and css but console outputs:
GET http://192.168.5.10/pub/media/Shoes/nike.jpg 404 (Not Found)
What i've tried that did not work:
- Looking for errors in
/var/log/apache2/error.log
and/var/log/apache2/error.log
(found nothing other than a record of 404 but no permission errors.) - Checked
magento/var/log/system.log
,magento/var/log/exception.log
andmagento/var/log/debug.log
, no permission errors.
Switching modes:
bin/magento deploy:mode:set production
bin/magento cache:flush
bin/magento deploy:mode:set developer
bin/magento cache:flush
Made sure had default
.htaccess
inmagento
directory.Made sure
pub/
had default.htaccess
.Doc:
bin/magento setup:static-content:deploy -f
"Flush Cache Storage", "Flush Magento Cache", "Flush Catalog Images Cache", and "Flush Static Files Cache" from admin area > System > Cache Management.
Refresh all cache types from admin area > System > Cache Management.
Re-ran permissions as root
cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :www-data . && chmod u+x bin/magento
Ran alternative permissions commands (does same thing as above):
cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento
Checking permissions of example image from magento directory:
magentouser$ ls -al pub/media/Shoes/nike.jpg
-rw-rw-r-- 1 magentouser www-data 77645 Jan 15 17:14 pub/media/Shoes/nike.jpg
rm -rf var/cache
bin/magento indexer:reindex
Checked my
/etc/apache2/sites-available/000-default.conf
Listen 8080
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory "/var/www/html">
AllowOverride all
</Directory>
Re-started
systemctl restart apache2
Change DocumentRoot back to
/var/www/html/magento2
, and restartedapache2
.
Note: i was in the wrong demo server the first time i tried step 16 again. I had spun up so many test servers trying to re-duplicate the issue in different ways (too many terminals open trying to test different variations without attention to IP). I noticed while deleting all the demo servers from the network that the command was in the wrong one. After switching server 56 back to documentRoot to /var/www/html/magento2, and restarting
apache
on server 56, all images show up again normally. but the URL is still like (example):http://192.168.5.10/pub/media/Shoes/nike.jpg
. I'm still not sure how "pub" got in there or even how i would add "pub" if it was't there and I wanted it, or how to remove it from the url and make the system look in the right place without having to re-upload all my images. This test confirmed again that when not serving frompub
, the site works fine...but images were already being served in a strange way.
How do you resolve this?
magento2 magento2.3 server-setup 404
have you try to restart your server?
– Edwin Widhiyanto
18 hours ago
@EdwinWidhiyanto "Have you tried turning it off and back on again" lol. yes
– learnsomemore
11 hours ago
add a comment |
My original installation of v2.3.0 was working fine. All images showed up for categories. I decided (after setting up a lot of categories and images for those categories) to serve the site from pub
.
The only code customization my site has is a modification for a bug that is apparently fixed in v2.3.1. Other than that, i have no third party modules installed or other code customizations.
I followed docs to make site more secure using Ubuntu and Apache2 (not nginx). When i visit a page with images (front-end or admin area), i get a 404 not found for the image. Page loads text and css but console outputs:
GET http://192.168.5.10/pub/media/Shoes/nike.jpg 404 (Not Found)
What i've tried that did not work:
- Looking for errors in
/var/log/apache2/error.log
and/var/log/apache2/error.log
(found nothing other than a record of 404 but no permission errors.) - Checked
magento/var/log/system.log
,magento/var/log/exception.log
andmagento/var/log/debug.log
, no permission errors.
Switching modes:
bin/magento deploy:mode:set production
bin/magento cache:flush
bin/magento deploy:mode:set developer
bin/magento cache:flush
Made sure had default
.htaccess
inmagento
directory.Made sure
pub/
had default.htaccess
.Doc:
bin/magento setup:static-content:deploy -f
"Flush Cache Storage", "Flush Magento Cache", "Flush Catalog Images Cache", and "Flush Static Files Cache" from admin area > System > Cache Management.
Refresh all cache types from admin area > System > Cache Management.
Re-ran permissions as root
cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :www-data . && chmod u+x bin/magento
Ran alternative permissions commands (does same thing as above):
cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento
Checking permissions of example image from magento directory:
magentouser$ ls -al pub/media/Shoes/nike.jpg
-rw-rw-r-- 1 magentouser www-data 77645 Jan 15 17:14 pub/media/Shoes/nike.jpg
rm -rf var/cache
bin/magento indexer:reindex
Checked my
/etc/apache2/sites-available/000-default.conf
Listen 8080
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory "/var/www/html">
AllowOverride all
</Directory>
Re-started
systemctl restart apache2
Change DocumentRoot back to
/var/www/html/magento2
, and restartedapache2
.
Note: i was in the wrong demo server the first time i tried step 16 again. I had spun up so many test servers trying to re-duplicate the issue in different ways (too many terminals open trying to test different variations without attention to IP). I noticed while deleting all the demo servers from the network that the command was in the wrong one. After switching server 56 back to documentRoot to /var/www/html/magento2, and restarting
apache
on server 56, all images show up again normally. but the URL is still like (example):http://192.168.5.10/pub/media/Shoes/nike.jpg
. I'm still not sure how "pub" got in there or even how i would add "pub" if it was't there and I wanted it, or how to remove it from the url and make the system look in the right place without having to re-upload all my images. This test confirmed again that when not serving frompub
, the site works fine...but images were already being served in a strange way.
How do you resolve this?
magento2 magento2.3 server-setup 404
My original installation of v2.3.0 was working fine. All images showed up for categories. I decided (after setting up a lot of categories and images for those categories) to serve the site from pub
.
The only code customization my site has is a modification for a bug that is apparently fixed in v2.3.1. Other than that, i have no third party modules installed or other code customizations.
I followed docs to make site more secure using Ubuntu and Apache2 (not nginx). When i visit a page with images (front-end or admin area), i get a 404 not found for the image. Page loads text and css but console outputs:
GET http://192.168.5.10/pub/media/Shoes/nike.jpg 404 (Not Found)
What i've tried that did not work:
- Looking for errors in
/var/log/apache2/error.log
and/var/log/apache2/error.log
(found nothing other than a record of 404 but no permission errors.) - Checked
magento/var/log/system.log
,magento/var/log/exception.log
andmagento/var/log/debug.log
, no permission errors.
Switching modes:
bin/magento deploy:mode:set production
bin/magento cache:flush
bin/magento deploy:mode:set developer
bin/magento cache:flush
Made sure had default
.htaccess
inmagento
directory.Made sure
pub/
had default.htaccess
.Doc:
bin/magento setup:static-content:deploy -f
"Flush Cache Storage", "Flush Magento Cache", "Flush Catalog Images Cache", and "Flush Static Files Cache" from admin area > System > Cache Management.
Refresh all cache types from admin area > System > Cache Management.
Re-ran permissions as root
cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :www-data . && chmod u+x bin/magento
Ran alternative permissions commands (does same thing as above):
cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento
Checking permissions of example image from magento directory:
magentouser$ ls -al pub/media/Shoes/nike.jpg
-rw-rw-r-- 1 magentouser www-data 77645 Jan 15 17:14 pub/media/Shoes/nike.jpg
rm -rf var/cache
bin/magento indexer:reindex
Checked my
/etc/apache2/sites-available/000-default.conf
Listen 8080
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory "/var/www/html">
AllowOverride all
</Directory>
Re-started
systemctl restart apache2
Change DocumentRoot back to
/var/www/html/magento2
, and restartedapache2
.
Note: i was in the wrong demo server the first time i tried step 16 again. I had spun up so many test servers trying to re-duplicate the issue in different ways (too many terminals open trying to test different variations without attention to IP). I noticed while deleting all the demo servers from the network that the command was in the wrong one. After switching server 56 back to documentRoot to /var/www/html/magento2, and restarting
apache
on server 56, all images show up again normally. but the URL is still like (example):http://192.168.5.10/pub/media/Shoes/nike.jpg
. I'm still not sure how "pub" got in there or even how i would add "pub" if it was't there and I wanted it, or how to remove it from the url and make the system look in the right place without having to re-upload all my images. This test confirmed again that when not serving frompub
, the site works fine...but images were already being served in a strange way.
How do you resolve this?
magento2 magento2.3 server-setup 404
magento2 magento2.3 server-setup 404
edited 2 hours ago
learnsomemore
asked yesterday
learnsomemorelearnsomemore
62
62
have you try to restart your server?
– Edwin Widhiyanto
18 hours ago
@EdwinWidhiyanto "Have you tried turning it off and back on again" lol. yes
– learnsomemore
11 hours ago
add a comment |
have you try to restart your server?
– Edwin Widhiyanto
18 hours ago
@EdwinWidhiyanto "Have you tried turning it off and back on again" lol. yes
– learnsomemore
11 hours ago
have you try to restart your server?
– Edwin Widhiyanto
18 hours ago
have you try to restart your server?
– Edwin Widhiyanto
18 hours ago
@EdwinWidhiyanto "Have you tried turning it off and back on again" lol. yes
– learnsomemore
11 hours ago
@EdwinWidhiyanto "Have you tried turning it off and back on again" lol. yes
– learnsomemore
11 hours ago
add a comment |
3 Answers
3
active
oldest
votes
After changing your document root in Apache to point to the pub subdirectory your correct image URL is
http://192.168.5.10/media/Shoes/nike.jpg
The image URLs provided by Magento should have the correct path, if you have set somewhere 'pub' in your image paths you have to remove that
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
|
show 2 more comments
I think you may have not put name of correct directory of magento installation in virtualhosts, you've to mention path to pub directory of your magento installation in DocumentRoot.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot {path to magento installation}/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
add a comment |
2 things come to mind based on your description:
You might be missing
.htaccess
in your/pub/media/
folder.Since you made changes to Apache, you might have disabled the
Options
FollowSymLinks
setting (since you mentioned that you increased security).
So you might have to change
Options +FollowSymLinks
to
Options +SymLinksIfOwnerMatch
in .htaccess
in the following locations:
- {Your root Magento directory}
- /pub/
- /pub/media/
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f260914%2fmagento-2-3-serving-site-from-pub-now-images-get-404%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
After changing your document root in Apache to point to the pub subdirectory your correct image URL is
http://192.168.5.10/media/Shoes/nike.jpg
The image URLs provided by Magento should have the correct path, if you have set somewhere 'pub' in your image paths you have to remove that
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
|
show 2 more comments
After changing your document root in Apache to point to the pub subdirectory your correct image URL is
http://192.168.5.10/media/Shoes/nike.jpg
The image URLs provided by Magento should have the correct path, if you have set somewhere 'pub' in your image paths you have to remove that
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
|
show 2 more comments
After changing your document root in Apache to point to the pub subdirectory your correct image URL is
http://192.168.5.10/media/Shoes/nike.jpg
The image URLs provided by Magento should have the correct path, if you have set somewhere 'pub' in your image paths you have to remove that
After changing your document root in Apache to point to the pub subdirectory your correct image URL is
http://192.168.5.10/media/Shoes/nike.jpg
The image URLs provided by Magento should have the correct path, if you have set somewhere 'pub' in your image paths you have to remove that
answered 16 hours ago
HelgeBHelgeB
4179
4179
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
|
show 2 more comments
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
I never set images to "pub" anywhere. I uploaded them via the admin GUI while working on categories. I followed the directions exactly from the docs for serving from root. Before serving from pub. images were working. after following docs, images not working.
– learnsomemore
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
ok, can you please provide more information where this image come from? If it is referenced in a cms block, please paste the code in your question. By default magento uploads category images to 'media/catalog/category' directory, images from CMS upload are in 'media/wysiwyg'. Do you get product images with the correct path?
– HelgeB
12 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
Images where uploaded before serving from pub. To upload image (in this case, to a category) I went to the category, clicked content, clicked upload. Note from my original...everything worked normally before serving from pub. All i did was change DocumentRoot to serve from pub. I did not upload anything after making serve from pub so if the issue is with default upload directory, it should have showed a problem before serving from pub shouldn't it? Given i haven't uploaded any new images after modifying document root?
– learnsomemore
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
media/Shoes is not a Magento default directory. The default directory for category images uploaded in the content area of the category in the admin panel is media/catalog/category. Have you uploaded the image nike.jpg as "category image" in the admin panel? do you see the image now in the admin panel or at least a broken image there?
– HelgeB
11 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
yes, the image is broken in admin area too. "media/Shoes is not a magento default directory". If I create a category in the backend named 'Shoes", and upload a image to the category content area. that image becomes domain/media/<Cagtegory>/<image>.png. or domain/media/Shoes/nike.png
– learnsomemore
10 hours ago
|
show 2 more comments
I think you may have not put name of correct directory of magento installation in virtualhosts, you've to mention path to pub directory of your magento installation in DocumentRoot.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot {path to magento installation}/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
add a comment |
I think you may have not put name of correct directory of magento installation in virtualhosts, you've to mention path to pub directory of your magento installation in DocumentRoot.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot {path to magento installation}/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
add a comment |
I think you may have not put name of correct directory of magento installation in virtualhosts, you've to mention path to pub directory of your magento installation in DocumentRoot.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot {path to magento installation}/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
I think you may have not put name of correct directory of magento installation in virtualhosts, you've to mention path to pub directory of your magento installation in DocumentRoot.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot {path to magento installation}/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
answered 7 hours ago
Vivek KumarVivek Kumar
2,4372629
2,4372629
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
add a comment |
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
Thanks for suggestion. it wasn't that. I updated question to reflect test
– learnsomemore
5 hours ago
add a comment |
2 things come to mind based on your description:
You might be missing
.htaccess
in your/pub/media/
folder.Since you made changes to Apache, you might have disabled the
Options
FollowSymLinks
setting (since you mentioned that you increased security).
So you might have to change
Options +FollowSymLinks
to
Options +SymLinksIfOwnerMatch
in .htaccess
in the following locations:
- {Your root Magento directory}
- /pub/
- /pub/media/
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
add a comment |
2 things come to mind based on your description:
You might be missing
.htaccess
in your/pub/media/
folder.Since you made changes to Apache, you might have disabled the
Options
FollowSymLinks
setting (since you mentioned that you increased security).
So you might have to change
Options +FollowSymLinks
to
Options +SymLinksIfOwnerMatch
in .htaccess
in the following locations:
- {Your root Magento directory}
- /pub/
- /pub/media/
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
add a comment |
2 things come to mind based on your description:
You might be missing
.htaccess
in your/pub/media/
folder.Since you made changes to Apache, you might have disabled the
Options
FollowSymLinks
setting (since you mentioned that you increased security).
So you might have to change
Options +FollowSymLinks
to
Options +SymLinksIfOwnerMatch
in .htaccess
in the following locations:
- {Your root Magento directory}
- /pub/
- /pub/media/
2 things come to mind based on your description:
You might be missing
.htaccess
in your/pub/media/
folder.Since you made changes to Apache, you might have disabled the
Options
FollowSymLinks
setting (since you mentioned that you increased security).
So you might have to change
Options +FollowSymLinks
to
Options +SymLinksIfOwnerMatch
in .htaccess
in the following locations:
- {Your root Magento directory}
- /pub/
- /pub/media/
answered 6 hours ago
LezLez
1,250729
1,250729
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
add a comment |
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
i made the change to the .htaccess in all 3 areas and restarted apache. Getting a lot more errors (403s in addition to 404s) so i changed it back.
– learnsomemore
5 hours ago
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f260914%2fmagento-2-3-serving-site-from-pub-now-images-get-404%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
have you try to restart your server?
– Edwin Widhiyanto
18 hours ago
@EdwinWidhiyanto "Have you tried turning it off and back on again" lol. yes
– learnsomemore
11 hours ago