我正在處理基於某些條件在我的.htaccess文件中應用URL重寫規則,但由於我使用Apache .htacces進行URL重寫的知識水平接近零,因此已經觸發了。我的使用案例URL基於特定條件的重寫規則
我的WordPress應用程序中使用的插件很少,以及那些用於某些CSS和JavaScript的插件,我希望這些URL應該來自CDN服務器,由於某些問題我無法使用簡單重寫將重寫整個應用程序的URL,因爲這件事正在破壞我的應用程序功能。
http://www.mydomain.com/wp-content/plugins/pluginA/abc.css
http://www.mydomain.com/wp-content/plugins/pluginA/abc.js
我想,當CSS和JS都是從這個插件(插件A)或任何其他插件我想重寫其URL,URL應該得到改寫爲
http://www.cdn.mydomain.com/wp-content/plugins/pluginA/abc.css
http://www.cdn.mydomain.com/wp-content/plugins/pluginA/abc.js
我不知道如何做這樣的條件基於URL重寫,任何建議將真正有用的
編輯 這是根
我目前的.htaccess文件<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
我已經wp-content
文件夾下創建一個新的.htaccess
文件按Michael
建議用以下條目
RewriteEngine On
<IfModule mod_rewrite.c>
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} ^.+\.(css|js)$
RewriteRule wp-content/plugins/(nivo-slider-light|Usernoise|lightbox-plus|wp-content-slideshow|content-slide)/(.+)$ http:/cdn.cloudfront.net/wp-content/plugins/$1/$2 [L,R=302,QSA]
</IfModule>
,但似乎這不是上述插件所有的CSS和JS文件正在努力爲仍在來自本地主機的URL,而不是來自我的CDN服務器。我甚至在我的根目錄的.htaccess文件中將這些行註釋掉了。
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
但是這也沒有對URL進行任何更改。
我想這是我的本地機器上,似乎它不是working.Is那裏像'HTTP網址任何關係://本地主機/ WordPress的/ WP- content/plugins/nivo-slider-light/nivo-slider.css?ver = 3.3.1'這個部分是'?ver = 3.3.1',每個URL都由插件提供。 – 2012-04-15 18:17:11
@ user702325用'[L,R = 301,QSA]添加'QSA''將現有查詢字符串附加到請求上。 – 2012-04-15 18:32:18
我也嘗試過這一個,但這也不work.i在''.htaccess'文件位於根'RewriteCond%{QUERY_STRING}(\ <|%3C)。*腳本。*(\> | %3E)[NC,OR] RewriteCond%{QUERY_STRING} GLOBALS(= | \ [| \%[0-9A-Z] {0,2})[OR] RewriteCond%{QUERY_STRING} _REQUEST(= | \ [| \%[0-9A-Z] {0,2})'不確定這與否有關係 – 2012-04-15 18:37:29