Olası php sayfaları uzantıları kaldırmak için?

4 Cevap php

Bazı web sitelerine gittiğimde sayfada herhangi bir dosya uzantısı olduğunu fark. Aslında bu site düzgün bir örnektir. Herkes bu nasıl yapılıyor biliyor musun? :]

4 Cevap

Bu genellikle URL Rewriting (bağlantı büyük bir tanıtım öğretici gider) ile gerçekleştirilir.

Basit durumda, bir yeniden yazma kuralı sadece url sonuna ". Php" (ya da başka hangi dosya uzantısı) ekleyerek her adresi yönlendirir. Yani birisi http://www.yoursite.com/about-me, aslında dosyadan gelen içeriği görüntülerken ziyaret çalışırsa about-me.php.

Bu aynı zamanda bir MVC framework olabilir. (Burada ara php,. NET için ünlü biri için bir sürü vardır, ve birçok dil için emin birçok çerçeveler duyuyorum.

Bu site, bir kök dosya var index.aspx diyoruz (onun değil, ama benimle) sağlar ve bu dosya URL daha fazla okumak için özel bir kod vardır. Belirtildiği gibi yeniden URL ile birlikte kullanıldığında, bu özel dosya normalde yol bilgisi ne olacağını alır ve değişken girdi olarak değerlendirir.

http://stackoverflow.com/questions/778799/possible-to-remove-extentions-on-php-pages

gibi bir şey olduğunu

http://stackoverflow.com/ index.aspx / questions/778799/possible-to-remove-extentions-on-php-pages

Index.aspx .. Sorular yeniden URL yoluyla gizli dosya olmak denetleyicisi, 778799 bir parametre ve son parametre olan diğer metin olmanın gösteren bir parametredir. (Bu göz ardı edilir)

Daha fazlasını görmek için

http://www.asp.net/mvc/

http://codeigniter.com/

http://en.wikipedia.org/wiki/Model-view-controller

Kenara URL yeniden yazma, ayrıca size MyPHPPage.html gibi bir şey yapmalıyım izin alternatif dosya uzantılarını destekleyen apache yapılandırmasını değiştirebilirsiniz.

Regards,
Frank

Mod_rewrite kullanın. . Sadece kök htaccess adında bir dosya bu kodu koyun:

RewriteEngine on
RewriteRule ^([^/\.]+)/?([^/\.]+)/?$ index.php?resource_type=$1&id=$2 [QSA,L]

Düzenli ifade parantezli kısımlarında nasıl $ 1 ve $ 2 erişim iki miktarları dikkat edin. Buradan kodunu genişletmek için kolay görünüyor