私は多くの画像と静的コンテンツを持つ既存のウェブサイトを持っています。私は現在、MaxCDNにサインアップしており、スタティックコンテンツをCDNにリダイレクトする必要があります。.htaccessを使用した選択的URLリダイレクト
array('css', 'js', 'jpg', 'jpeg', 'png' 'gif','pdf')
のようなファイル拡張子を検出し、cdn URLにリダイレクトするhtaccessルールを作成したいとします。
例: ノーマルURL: CDNのURL:https://www.cdn.com/uploads/slider/1470903158.jpg
私はすでに定義された私のゾーンのためのCDNのURLを持っています。私は同じ機能を実行するためにコアbase_url()
のオーバーライドを行っていただろうが、残念ながらウェブサイトはCIにはなく、やり直すことはできないだろう。私は.htaccessでやっていると思っていましたが、現在の状況で私の最善の策になるでしょう。残念ながら、それは.htaccesに関しては何もないのです。
これはあなたの非常に最初のルールとして、このリダイレクトルールを使用することができます私の現在の.htaccessファイル
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.?)index\.php/(.*) /$1$2 [R=301,NE,L]
# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
# BEGIN Expires
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
# END Expires
#The following line is enough for .js and .css
AddOutputFilter DEFLATE js css
#The following line also enables compression by file content type, for the following list of Content-Type
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml
#The following lines are to avoid bugs with some browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary: Accept-Encoding
答えてくれてありがとうございますが、すべての静的コンテンツが 'uploads/slider /'フォルダの下にあるとは限りません。基本的なURLは 'www.example.com'を削除して* * CDN **ベースURLをそのままURLの残りの部分をそのまま残す –
あなたのルールを追加しましたが、どちらのエラーもリダイレクトされません。私の既存の.htaccessコードを添付していると、これは干渉している可能性がありますか? –
私の答えで示唆したように、このルールは 'RewriteEngine On'行のすぐ下に置いてください。 – anubhava