2012-02-02 32 views
12

Oluşturulan PDF'lerin depolandığı /pdf/ adlı bir yapıda var. Ziyaretçileri PDF klasörüne yönlendirmek için .htaccess kullanmaya çalışıyorum. Bunun çalışıyor url /manual_chap_1 erişmeye çalıştığınızda.htaccess

RewriteEngine On 
RewriteBase/
RewriteRule (.*) index.php?page=$1.html 
RewriteRule ??? for pdf?? 

(... ??? işaretleri Not)

:

benim .htaccess dosyasında bu kuralı var. Ama ben /pdf/manual_chap_1'u denediğimde çalışmadığı görülüyor. Burada bazı çıkış mi göreceğiz:

$_GET[page] => index.php.html

Ben PDF dosyası istenen konumda yok, sonra, bunu bir HTML sayfası yüklemek istiyorsanız, PDF dosyası oluşturmak için mümkün istiyorum . StackOverflow

cevap

12

Hoşgeldin, şunu deneyin:

RewriteEngine On 
RewriteBase/

RewriteRule ^pdf/([a-z0-9\-_\.]+)$ pdf.php?file=$1 [L,NC,QSA] 

RewriteCond %{REQUEST_URI} !^/pdf 
RewriteRule ^([a-z0-9\-_\.]+)/?$ index.php?page=$1.html [L,NC,QSA] 

L: [L] bayrak Kural grubu işleme durdurmak için mod_rewrite neden olur. Çoğu bağlamda, bu kural uyuşmazsa, başka kuralların işlenmeyeceği anlamına gelir. Bu, Perl'deki son komut veya C'deki kesme komutuna karşılık gelir. Mevcut bayrağı, daha fazla kural göz önünde bulundurulmadan hemen uygulanması gerektiğini belirtmek için bu bayrağı kullanın. Değiştirilen URI bir sorgu dizesi içeriyorsa, RewriteRule varsayılan davranışı varolan sorgu dizesini atmak ve yeni oluşturulmuş olanla değiştirmektır. [QSA] bayrağını kullanmak, sorgu dizelerinin birleştirilmesine neden olur.

NC: [NC] bayrağının kullanılması, RewriteRule öğesinin büyük/küçük harf duyarlı olmayan bir şekilde eşleşmesine neden olur. Yani, eşleşen URI'de harflerin büyük harf veya küçük harf olarak görünüp görünmemesi önemli değildir.

Ayrıca, alt çizgi yerine tire kullanmanız önerilir.

+0

çok çok teşekkürler – Maggie

+0

çok hoş geldiniz –