htaccess ile yardımcı

3 Cevap php

Ben bu yönlendirmek istiyorum:

foo.com/xxx

... Bunun için:

foo.com/somepage.php?id=xxx

Bu bunu nasıl:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^([^/]+)$ http://foo.com/somepage.php?id=$1 [L]

the problem now, is that foo.com doesn't work any more. I can't see foo.com neither foo.com/index.php

Bana yardım et! :)

3 Cevap

RewriteRule ^/([^/]+)$ /somepage.php?id=$1 [L]

Dikkatli tho, foo.com/1 SEO KÖTÜ harekettir.

1) RewriteCond hattı gerekmez. Bu kural geçerlidir, değil HANGİ isteği BÖLÜM ZAMAN belirlemek niyetiyle.

[EDIT] sizin RewriteCond sorgu dizesi boş olduğunda bu kural geçerli yapmak için, orada SÜRECE. O ise, o zaman yanlış bir şey yok.

2) Ben bu gibi kural ilk /, dahil etmek gerektiğini düşünüyorum:

RewriteRule ^/([^/]+)$ /somepage.php?id=$1 [L]

[EDIT] sizin sürümü ve maden Hem sitenizin şu anda bozuldu neden açıklamak olabilir, index.php dosyasını maç olacak. Eğer php dosyalarını maç istemiyorsanız, başka bir koşul gibi ekleyebilirsiniz

RewriteCond ${REQUEST_URI} !^.*\.php$

3) Böyle bir kural için,) $ önce, Pars dışında (sonunda /? eklemek için yararlı olabilir, durumda onlar mantıklı foot.com / xxx /, için bakarsanız Eğer bir dizin gibi bakmak istiyorum.

Deneyin:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(xxx=)$ /somepage.php?id=$1 [L]

Tabii ki açıkça xxx = ne belirtmek vermedi ...