URL'yi azaltmak için basit bir komut dosyası. URL'leri azaltmak için basit bir komut dosyası Mnife link php

Download kaynağı

Küçük ve kompakt komut dosyalarıyla ilgili sorunları çözmeyi seviyorum. Yazmanız gereken kod ne kadar küçükse, o kadar iyidir. Son zamanlarda, bir kez daha yapma şansımız var.

Bu sorun, URL'leri azaltmak için bir komut dosyası kullanılarak çözülebilir. Uzun zamandır, bu tür fırsatlar sağlayan hizmetler var, ancak kusursuz değiller. İşte bunlardan bazıları:

  • Dış servise bağımlılık - işe yaramadığında, referanslar da erişilemez. Daha da kötüsü, servis kapanırsa - ne yol açacağını biliyorsunuz;
  • Tüm istatistikler üçüncü taraf hizmetler tarafından izlenir;
  • Genellikle kısaltılmış bağlantıların türünü değiştiremez;
  • Bazı hizmetler takma adınızı seçmenize izin verir, ancak çoğu otomatik olarak onları atayacaktır.

Bu nedenle, görev, yukarıda açıklanan sorunu çözmelerine izin verilen kendi PHP betiğini yazmaktır!

Fikir

Komut dosyası yalnızca kendi kullanımı için oluşturulursa, böyle şeylerin oluşturulmasını bir kullanıcı kaydı ve yönetim paneli olarak düşürebilirsiniz. Gelecekteki komut dosyamızın sahip olması gereken özellikler aşağıdadır:

  • Kısa bağlantılar görüntülenecektir http://example.com/l/short-link.. Bu URL'yi ziyaret gerçek adrese yönlendirilecek;
  • Tüm komut dosyası tek bir dosyada bulunacak - Dış bağımlılıklar olmadan, index.php;
  • Eklenti ve bağlantı düzenleme araçlarıyla yönetici paneli eksik. Her şey, düzenlenmesi çok kolay olan sunucuda bulunan basit bir metin dosyası kullanılarak yönetilecektir;
  • Tanımlayıcılar otomatik olarak bağlantılara atanmayacak - kendiniz takma ad getirir.

Bu eşyalar gelecekteki komut dosyamızı basitleştirir. Hala daha anlaşılabilir hale getirmek için, bağlantıları bir INI dosyasında saklamaya karar verdim, çünkü düzenlemesi kolaydır ve PHP'nin işlevi aracılığıyla yerleşik desteğini vardır. parse_ini_file (Bizi dosyanın içeriğini okuma ve manuel olarak geçme ihtiyacından koruyacak, yanı sıra, bu işlev çok hızlı çalışır).

INI dosyası.

INI dosyası şöyle görünüyor:

links.ini.

Satış

PHP komut dosyamız zekice basittir:

index.php.

$ Links \u003d parse_ini_file ("links.ini"); Eğer (isset ($ _ almak ["l"])) && array_key_exists ($ _ "al [" l "], $ bağlantılar)) (Başlık (" Konum: ". $ Bağlantılar [$ _ GET [" L "]]) ;) Başka (başlık ("http / 1.0 404) BULUNAMADI."); Echo" bilinmeyen bağlantı. ";)

Komut dosyası, örneğin aşağıdaki gibi görünen bir dizi _get ['l'] için bir takdirme beklemektedir: http://example.com/index.php?l\u003dgoogle.

Tabii ki bu bir azalma değil, ancak .htaccess dosyasını kullanarak onu geliştirebiliriz (Apache Web Sunucusunu başlatmak için kullanılır).

Htacess.

RewriteEngine RewriteEngond $ 1! ^ (İndex.php) yenidenwriterule ^ (. *) $ İndex.php? L \u003d 1 $ [l]

Bu dosya, index.php ve links.ini ile aynı dizinde olmalıdır. Ödevi, index.php dosyasına gitmeyen her isteği, index.php? L \u003d xxx türünün adresine yönlendirmeyen her isteği yönlendirmektir. Döngüsel bağlantılara karşı koruyacak ve Links.ini dosyasını tarayıcıdan erişilemez hale getirecektir.

En iyi sonuçları elde etmek için, klasördeki üç dosyayı kısa bir adla, örneğin, sitenin kök klasöründe, http://example.com adresindeki bağlantıların kısa bir görünümünü elde edin. / l / google.

Google.com sitesine sahip bir örnek çok görsel değil, çünkü kısaltılmış bağlantı orijinalden daha uzun elde edildiğinden, ancak mekanizmanın esasının özünü, umarım başarıldığını göstermek için önemliydi.

Sonuç

Yapılabilecek bir diğer gelişme, INI dosyasının içeriğinin değiştirilmesi için en basit idari arayüzü oluşturmaktır.

Tabii ki, bu komut dosyasında, yine de fazla uygulayabilirsiniz. Umarım yaratılışım sizin için faydalı oldu!

Bu yayın, makalenin çevirisidir " Hızlı İpucu - 10 satır PHP ile basit bir URL kısaltıcı yaratın"Dostça bir proje ekibi tarafından hazırlandı

Neredeyse tüm modüllerin geliştiricilerinin, eklentilerin ve CMS'nin kendilerinin tümü kişisel sitelerine doğrudan bağlantılar bırakması sırrı değildir. Bazen bu tür bağlantıların aranması, Webmaster tarafından iyi bir zamandır işgal edilir. Daha önemli görevlere harcayabileceği zaman. Bizim tarafımızdan sunulan Bul-link komut dosyası yalnızca harici bağlantıları aramak için tasarlanmıştır. Aynı zamanda, kurulum ve kullanımda oldukça basittir: Sizden İhtiyacınız olan her şey - Komut dosyasını siteye kopyalayın ve tarayıcıda açın. Bul - Bağlantısı size hangi dosyanın harici bir bağlantı olduğunu gösterir ve kodunu da gösterir. Bundan sonra, sadece kaldıracaksın.

0.5.0 sürümünü yapabileceğiniz komut dosyasını indirin
Script'i indirin 0.4.0 sürümünü yapabilirsiniz.
0.3.1 sürümünü yapabileceğiniz komut dosyasını indirin
Script'i indirebilirsin Sürüm 0.3.0
Download Script Siz 0.2.0 sürümünü yapabilirsiniz.
Download Script Sürüm 0.1.0

Kurulum:

1. Dosya Find-Link.php dosyasını sitenizin kökünden kopyalayın.
2. HTTP: // Web Sitesi / Find-Link.php dosyasını tarayıcıda açın.

ÖNEMLİ - BULUCU LINK, görevi yapmadan önce ayarlamak için zaman yoksa, script dosyasını alt kategoriye kopyalayın ve sitenizi parçalar halinde kontrol edin.

Kaynağımızın ve bizim tarafımızdan sunulan tüm araçların projelerinizde size yardımcı olmayacağını umuyoruz.

Açıklama

Html etiketi Geçerli HTML belgesi ile belirtildiği harici kaynak arasındaki ilişkiyi tanımlar. Boş bir unsurdur (içeriğe sahip değildir ve etiketin kapanması yoktur) ve her zaman elemanın içine yerleştirilmelidir. . En sık etiket Harici stil sayfalarını bağlamak için kullanılır:

İlk nitelik hREF. Hem mutlak hem de göreceli olabilecek belge adresini tanımlar. İkinci atış rel. HTML dosyası ile başvurduğunuz şey arasındaki bağlantıyı belirtir, bu durumda stil sayfasına atıfta bulunur, bu nedenle stil sayfası tarafından kullanılır. Öznitelik tip MIME Tip tarayıcısını bildirir, stil tablolarının türü her zaman "Metin / CSS" olacaktır.

Not: HTML5 standardına göre, CSS harici dosya belgesine bağlanırken, tür özelliğinin belirtilmesi gerekmez:

Önyükleme sayfaları

Genellikle, bağlantıyı başka bir sayfaya tıkladığınızda, botlara kadar birkaç saniye beklemeniz gerekir. Ancak, web sayfanızı, belirli sayfaların geçerli sayfadayken tarayıcı önbelleğine önceden yüklenmesi için yapılandırabilirsiniz. Bu, başka bir web sayfasına gitmek için bağlantıya tıkladığınızda, hemen açılacağını ve botlara kadar beklemek zorunda kalmayacağı anlamına gelir. Buna "bir sayfa önleme" denir. Bunu yapmak için etiket kullanılır Öznitelik Rel \u003d "Prefetch" ile ve ayrıca bilgisayara önceden yüklenecek hedef sayfayı belirtir.

Böyle bir kayıt, geçerli sayfanın içeriğini okurken bilgisayarınızda TAT_P.php sayfasını önceden teşvik etmenize izin verir. Etiketi kullanabilirsiniz Kendi web sitenizi veya başka bir internetten herhangi bir sayıda sayfayı indirmek için.

Not: HTML belgesindeki adres yerine, diğer tür dosyasına (görüntü, video vb.) Yolu belirleyebilirsiniz.

Öznitellikler

HREF: Harici dosyanın konumunu (URL) belirtir (dosyanın yolu mutlak veya göreceli bir adres kullanarak belirtilebilir). HREFLANG: Bağlantının yol açtığı belgenin dilini tanımlayan iki harfli bir dil kodunu belirtir. HREFLANG özniteliği yalnızca HREF özniteliği ile birlikte kullanılır. Medya: Dosyanın hangi cihazların optimize edildiğini belirler. Esas olarak, altında çeşitli stilleri belirlemek için stil masa dosyalarıyla birlikte kullanılır. farklı şekiller taşıyıcılar. Medya niteliği hemen boşluklarla ayrılmış birkaç değer alabilir. REL: Geçerli belge ile bağlantı kurduğu belge arasındaki ilişkiyi belirtir.
  • alternatif. - Belgenin alternatif bir sürümüne (yani, yazdırma, çeviri veya ayna).
  • yazar - Yazarın iletişim bilgilerine ilişkin belgenin yazarı veya sayfanın yazarı hakkındaki bağlantı sayfasını tanımlar.
  • canonic - Sayfaları yinelenen içeriğe sahip işaretlemenizi sağlar, aynı içeriğe sahip tüm sayfaların bir etiket içermesi gerektiği anlamına gelir. Öznitelik rel \u003d "canonical" ile.

    HREF niteliği, bu durumda, aynı içeriğe sahip sayfaya bir bağlantı içermelidir. arama motorları Ana olmalı:

  • İLK. - İlk belgeye giden bağlantıyı belge dizisinden belirtir.
  • yardım. - Sertifika ile bir belgeye bağlantı.
  • simge - Mevcut belge için kullanılacak olan simgenin yolunu belirler.
  • son. - Belge sırasındaki son belgeye giden bağlantıyı belirtir.
  • lisans - Belge için telif hakkı bilgilerine referans.
  • sonraki - Bu belgenin seri'nin bir parçası olduğunu ve bağlantının bu serideki aşağıdaki belgeye yol açacağını gösterir.
  • prefetch. - Dosyanın bağlantı yol açtığı önceden tutulduğunu gösterir.
  • prev - Bu belgenin seri bir parçası olduğunu ve bağlantının bu serideki önceki belgeye yol açtığını gösterir.
  • arama. - Belge aramasına bağlantı.
  • stil sayfası. - Bu belge için stil sayfası olarak kullanılacak harici dosyayı belirler.
Boyutlar: için simgelerin boyutunu gösterir. görsel ekran. Boyutlar özniteliği sadece rel \u003d "icon" ile birlikte kullanılır, aşağıdaki anlamları alabilir:
  • genişlik Sarı - Boşluklarla ayrılan boyutların bir listesini belirtir, her bir boyut biçiminde (simgelerin boyutları piksellerde belirlenir), örneğin:
  • hiç. - Simge herhangi bir boyuta kadar ölçeklendirebilir.
Tip: Bağlantının yalnızca HREF özniteliği ile giriş yapıldığı belgenin MIMIM tipini (internet üzerinden iletim için iletim için bilgi biçimlendirme ve kodlama bilgileri) belirtir.

Etiket ayrıca destekler


Üst.