AD MPD noted in the comments, the issue is how Amazon Cloudfront handles the image style URL, specifically the ?itok query string.
So, when creating your distribution in Cloudfront, make sure you set "Forward Query Strings" to "Yes". See screenshot:
I think you should give a try to S3FS module
S3 File System (s3fs) provides an additional file system to your
drupal site, which stores files in Amazon's Simple Storage Service
(S3) or any other S3-compatible storage service. You can set your site
to use S3 File System as the default, or use it only for individual
fields. This functionality is ...
https://github.com/drupal-composer/drupal-project/pull/286 is a PR to add that to the drupal-project project by default.
Use the module Jquery Update:
Upgrades the version of jQuery in Drupal core to a newer version of
For 1.11, I believe you will need to use the DEV version, and take a look at this item in the Issue Queue for updating to that version.
The easy way is to use install jQuery Update module, which gives you the option to use new version of jQuery.
Download the jQuery Update mobile and extract it into sites/all/modules
Go to modules and enable the jQuery Update model
Visit http://mysite/admin/config/development/jquery_update to select which version would you like to use
You can also use ...
In my one of my setups I have a main server and a backup server.
They are separate small virtual machines on different physical boxes.
The entire Drupal install including file uploads is copied over from the main server to the backup server using rsync.
Rsync is an excellent command line *nix tool for copying, syncing files both locally and remotely. There ...
If all you're using the wysiwyg editor is for ckeditor, you can use the ckeditor module instead.
This module will allow Drupal to replace textarea fields with the
CKEditor - a visual HTML editor, usually called a WYSIWYG editor. This
HTML text editor brings many of the powerful WYSIWYG editing functions
of known desktop editors like Word to the web. ...
The problem is that you are not using the Drupal API.
The CDN module needs to be able to alter the path from your Drupal site to your CDN. It does this by catching the URL via hook_file_url_alter(), and changing it.
The proper way to to make a URL in this case is with file_create_url(). Something like this should work
No, Drupal devs didn't rewrite jQuery, a standard version is included (1.3.2). I can vouch for flag.js working fine with that version of jQuery.
It's not compatible with the version of jQuery that you're including though. You're probably also introducing a conflict between the two versions of the library that are included in the page.
jquery_update isn't a ...
I suspect you have a setting or two wrong. On admin/config/development/cdn make sure you are enabled, and not in testing mode:
Then goto admin/config/development/cdn/other, expand all of the sections and make sure you aren't excluding actual pages.
I've had success utilizing the Bootstrap Library module.
This module loads via libraries the Bootstrap files installed on /sites/all/libraries/bootstrap, regardless of the theme you are using. It does nothing else.
When using Bootstrap themes is particularly helpful to:
Correct Browser Support issues, installing respond.js.
Update your ...
I made a similar patch to the Amazon S3 module: "New variable to override file field URI scheme per environment" https://www.drupal.org/node/2422977#comment-9602981
This patch was adopted by the module, and is now the approved way of solving the OP's problem using the Drupal 7 Amazon S3 module. This is the issue I wrote on Drupal.org.
Even though you don't want to use a contrib module I will recommend the CDN module anyways. It does what you want, but if you don't want to use it you can still look at how they do it.
They define a lot of services, but the most interesting one is this one:
arguments: ['@app.root', '@...
No, not currently. As the UI suggests, the complex mappings can be set in the module's install/config/cdn.settings.yml config file, but it only allows for segmenting traffic to different CDNs based their extension.
The FileUrlGenerator service object handling the file URL rewriting doesn't consider a path context while deciding when/when not to serve file ...
Core actually did exactly that change just a few days ago, it will be like that in 8.0.3.
That said, your set up looks problematic to me, that's not going to be the only thing that somehow relies on the domain name. Usually the same domain is used?
I use Storage API for this sort of thing with S3 and cloudfront. I think it supports custom sub domains. It handles all the replication (copying,moving, deleting) itself. I have had a couple of minor compatibility issues with other contrib modules during upgrades.
You could create a local config for s3 in your local settings.php ?
Instead of trying to change storage types for local dev, you could use s3 locally but on a temporary bucket.
We use a separate bucket for local development that we can trash or whatever, we override all the settings in the conf array;
$conf['s3fs_bucket'] = 'our-dev-bucket';
Until CKEditor developers implement the functionality, you could create a custom module that:
on node add/edit you loop thru all fields using CKEditor and crawl each images/videos
detect if the images are already on the CDN
if not, upload the images/videos on the CDN
replace the images links with your new CDN links
save the node
I hope it will help you.
Found the Answer :
1) "A MIME-TYPE is a server side setting. You can ask your hosting provider to add the MP4 MIME-TYPE for you.
Or, you can add a .htaccess file to the directory where you uploads are stored".
A sample .htaccess file that adds the MP4 MIME-TYPE is:
AddType video/mp4 .mp4
Source : ...
Drupal 7 has robust CDN integration with a number of options. You can consider the Storage API module for S3 integration among others.
Storage API is a low-level framework for managed file storage and serving.
Also consider the CDN module.
This module provides easy Content Delivery Network integration for Drupal sites. It alters file URLs, so that ...
These modules might help you out (quotes added here are from their project pages):
Advanced CSS/JS Aggregation:
On demand generation of CSS/JS Aggregates. If the file doesn't exist it will be generated on demand.
Stampede protection for CSS and JS aggregation. Uses locking so multiple requests for the same thing will result in only one thread doing ...
If you don't know what you're doing (and to a certain extent even if you do) it's probably better to use modules to accomplish what you're trying to do:
This is mainly due to the extra configuration and set-up help you get with the modules