Yapımı dinamik görüntüler statik dosya isimleri var

4 Cevap php

Benim web sitesi şu anda dinamik görüntüler üreten bir php komut dosyası için çeşitli bağlantıları vardır. Örneğin, bağlantı / dynamic_images.php? Type = pasta grafik & color = red = "" img kaynağını "diyebilirsiniz

Açıkçası, bu SEO için büyük değildir. Ben bir şekilde bu bağlantıların dosya isimleri statik olarak görünmesini sağlamak, ve görüntüler hala dinamik oluşturulabilir sağlamak için (Mod-Rewrite gibi) bir çözüm kullanmak istiyorum.

Ben "img src =" ortalama kar-in-tüplü dalış-industry.png? Type = pasta grafik ve renk = gibi bir şey olabilir herhalde "kırmızı (ve dosya adı öneki değişen dikkat çekmek için Mod-Rewrite kullanın ) dynamic_images.php, ama arama motorları resim dosya adının sonuna uzak sorgu dizesi utangaç olacağını korkuyorum için.

Herhangi bir çözüm?

Şimdiden teşekkürler.

4 Cevap

Sen gibi bir şey gerekir:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^dynamicChart_([^_]+)_([^_]+).png dynamic_images.php?type=$1&color=$2

(Ben yazım hataları olmadan bunu yazdım) Yukarıdaki kullanarak istekte dynamicChart_pie-chart_red.png dynamic_images.php?type=pie-chart&color=red çevirmek gerekir demek gerekir

Ben görüntüleri için SRC özniteliği ALT veya ADI nitelikleri olacak gibi SEO için oldukça önemli olduğunu sanmıyorum.

Normalde sorgu dizeleri gizlemek için mod_rewrite kullanmak! Sen sayfalarında bu gibi dosya adları kullanabilirsiniz:

/dynamic-images/pie-chart/red/average-profits-in-scuba-diving-industry-19.png

Ve mod_rewrite onları çevirmek var:

/dynamic-images.php?type=pie-chart&color=red&datasrc=19

Senin durumunda için Mod-Rewrite kullanımı ve sorgu dizesi görmezden arama motorları hakkında endişelenmeyin.

mod_rewrite bir cevaptır, ancak bu gibi basit bir şey için, bu odalardan birinde bir sivrisinek öldürmek için bir bina nukeing gibi. Orada ekstra yol bit ayıklamak için $_SERVER['PATH_INFO'] mevcut bulunuyor, örneğin

http://example.com/dynamic-images.php/pie-chart/red/average-profits

olurdu

$_SERVER['PATH_INFO'] = '/pie-chart/red/average-profits';

hangi daha sonra ayrıştırmak:

$query = explode('/', $_SERVER['PATH_INFO']);

ve sizinle sonuna kadar:

$query = array(
    0 => '',
    1 => 'pie-chart',
    2 => 'red',
    3 => 'average-profits';
);

Eğer URL maruz. Php uzantısı istemiyorsanız, size bir AddHandler yönergesi ile bir PHP komut dosyası olarak 'dinamik görüntüler' tedavi web sunucusu zorlayabilir.