Temel. Htaccess mod_rewrite.

4 Cevap php

4 Cevap

Ben sorunuzu anlamak emin değilim, ama sen gibi bir şey yazabilirsiniz böylece RewriteCond için ikinci arg bir sıradanifade olduğunu hatırlamak için yardımcı olabilir:

RewriteCond %{HTTP_HOST} ^[a-z]+\.mysite\.com$ [NC]

Eğer zincir kuralları yapabilirsiniz www hariç gelince (onlar birlikte anded olan) veya düzenli ifade ile fantezi olsun. Genellikle takip etmek daha kolay gibi eski öneririm.

Anladığını sanmıyorum Gumbo's advice. Ben burada dahil ettik:

# stop rewriting for the host names example.com and www.example.com
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule ^ - [L]

RewriteRule ^error/(.*) index.php?error=$1 [L]
RewriteRule ^file/(.*) index.php?file=$1 [L]

Bu, özellikle www.example.com ve example.com için-yeniden yazmak gerçekleştirir. Biz, example.com any other subdomain üzerinde iseniz, hata ve / dosya / yeniden yazılmasının geçerlidir.

Eğer testi ters istiyorsa, böyle bir şey yapabilirsiniz:

RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$
RewriteRule ^error/(.*) index.php?error=$1 [L]

RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$
RewriteRule ^file/(.*) index.php?file=$1 [L]

Ben php kullanılan ve benim çerçevesi için bir sistem oluşturduk, çok tavsiye için daha verimli ve bence birçok yönden güvenli, ama teşekkürler!

:] <3

Bu kompleks Regex bina benzer durumlar beni var, o da size yardımcı olabilir.

http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/