Webroot dışında, ayrı bir yönetici sisteminden yüklenen görüntüleri saklamak için kullanılan bir dizinim var. Görüntüler bu biçimde saklanır:Apache mod_rewrite ve diğer adlar aynı anda nasıl kullanılır?
filepath/writable/images/00/00/23/65/filename-236581.jpg
(Webroot'un olduğu filepath/html)
... örneğin. Burada, 236 veritabanındaki görüntünün kimliğidir ve dosya sistemi, bir dizinde 100'den fazla inode'u durdurmak için numaralı dizinlere ayrılmıştır.
böyle, ön uç web sunucusu bu erişebilmesini istiyoruz:
dosya bir seo optimize edilmiş dize, gerçek dosya adını aynıdırhttp://(server)/filename-236581.jpg
.
URL'yi yeniden yazacak şekilde yeniden yazabilmek için fazladan yeniden numaralandırılmış dizinler içerebiliyor ve isteği yazılabilir yazı/resim dizinine yönlendirebiliyorum, ancak aynı anda ikisini de yapamıyorum. . Hem takma adlar hem de mod_rewrite yönergelerini koyarsam, takma ad olanı yoksayar ve hata günlüğü, dosya yolunu/html/karşıya yüklenen görüntüleri bulamadığını bildirir.
RewriteRule ^(.*)\/([^\/]*)-([0-9])\.(gif|jpg|jpeg|png)$ /uploaded-images/00/00/00/00/$2-$3.$4 [L,NC]
... vesaire, tüm yol kadar:
RewriteRule ^(.*)\/([^\/]*)-([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])\.(gif|jpg|jpeg|png)$ /uploaded-images/$3$4/$5$6/$7$8/$9$10/$2-$3$4$5$6$7$8$9$10$11$12.$13 [L,NC]
alias /uploaded-images "filepath/writable/images"
hiç fark etmez [L] Çıkarma İşte
Ben bugüne kadar ne olduğunu. [L] Eğer RewriteRule anlamına sonra bu