2013-09-16 20 views
1

比方说,我有以下网址:的RewriteRules的查询字符串

site/DB/guest/picture/25-298.jpg?v=140913231208 
site/DB/guest/picture/25.jpg?v=140913231208 
site/DB/user/cover/27-40.jpg?v=160913051508 
site/DB/user/cover/27.jpg?v=160913051508 

site/JS/main.js?v=160913132025 
site/JS/utils/admin.js?v=1602144214027 
site/CSS/main.css?v=160913132038 

我希望能够通过访问以下网址来加载它们:

guest/picture/140913231208/25-298.jpg 
guest/picture/140913231208/25.jpg 
user/cover/160913051508/27-40.jpg 
user/cover/160913051508/27.jpg 

js/160913132025/main.js 
js/utils/1602144214027/admin.js 
css/160913132038/main.css 

我试图重写某些规则。但我总是得到未发现的错误。

例如:

RewriteRule ^js/(.*)/(.*).(.*)$ site/JS/$2.$3\?v=$1 [L] 
+2

你尝试什么规则,什么线程你指的是 – AD7six

+0

我的意思是问题,而不是主题,编辑! – Hypn0tizeR

+1

您可以在[本页](http://htaccess.madewithlove.be/)上使用您的重写规则。 – hjpotter92

回答

3

尝试:

RewriteRule ^guest/picture/([0-9]+)/(.*)$ /site/DB/guest/picture/$2?v=$1 [L,QSA] 
RewriteRule ^user/cover/([0-9]+)/(.*)$ /site/DB/user/cover/$2?v=$1 [L,QSA] 
RewriteRule ^js/([0-9]+)/(.*)\.js$ /site/JS/$2.js?v=$1 [L,QSA] 
RewriteRule ^js/utils/([0-9]+)/(.*)\.js$ /site/JS/utils/$2.js?v=$1 [L,QSA] 
RewriteRule ^css/([0-9]+)/(.*)\.css$ /site/CSS/$2.css?v=$1 [L,QSA] 

RewriteRule ^(js|css)(/utils)?/([0-9]+)/(.*)$ /$1$2/$4?v=$3 [L,QSA] 
+0

适用于我!有没有办法可以在一个RewriteRule中拆分js和css? – Hypn0tizeR

+0

@ Hypn0tizeR尝试上面的编辑 –

+0

不工作,可能是因为大小写,CSS和JS在真正的url中大写。 – Hypn0tizeR