2011-11-24 16 views
14

.htaccess yönlendirmelerimle ilgili sorun yaşıyorum. Ben yazdığınızda i almak benim phpBelirli sayfalar için apache yeniden yazma kuralları sorunu

Redirect 301 /clients http://clients.domain.com 

RewriteEngine On 
SetEnvIf Host ^www\. page=www 
SetEnvIf Host ^mob\. page=mobile 

RewriteBase/
SetEnvIfNoCase User-Agent "^Wget" bad_bo 
#etc ... 
Deny from env=bad_bot 

RewriteCond %{HTTP_HOST} !^www.domain.com 
RewriteRule (.*) http://www.domain.com/$1 [R=301] 

RewriteRule ^about/?$ about.php 
RewriteRule ^contact/?$ contact.php 

rewriterule ^(.*)$ index.php?subdomain=%{ENV:page}&page=$1 

:

http://www.domain.com/contact 

o index.php değil contact.php gider benim .htaccess var

<?php 

print_r($_GET); 
Array (
    [subdomain] => www 
    [page] => contact.php 
) 

Neyi eksik?

+0

senin eksik senin nihai '/' sonra kontak –

+0

@TobyAllen '/' sorusu kuralı ya kullanımını/işaretlemek veya değil – eric

cevap

17

bu kuralı deneyin:

RewriteCond %{HTTP_HOST} !^www.domain.com [NC] 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 

RewriteRule ^about/?$ about.php [NC,QSA,L] 
RewriteRule ^contact/?$ contact.php [NC,QSA,L] 

rewriterule ^([a-z0-9]+)$ index.php?subdomain=%{ENV:page}&page=$1 [NC,QSA,L] 

Ben de maç emin son kural [L] sorgu dizesi eklemeye için, sigara durum için [NC] ve [QSA] yürütülür hale getirmek için NC, QSA, L bayrakları eklendi.

0
aşağıdaki şekilde yaklaşık ve temas kurallarını yeniden yazmak gerekiyor

:?

RewriteRule ^about/?$ about.php [L,QSA] 
RewriteRule ^contact/?$ contact.php [L,QSA] 
İlgili konular