Olsa değişken türleri geçen mod-rewrite

3 Cevap php

Merhaba ben htaccess mod_rewrite ile bir sorun yaşıyorum, belki burada birisi doğru yönde işaret olabilir.

Sitem [index.php] Tüm navigasyon url dize eg değişkenler geçirilerek yapılır, 1 ana dosya var

index.php?page=about

Bu [] aşağıda benim. htaccess ok ile çalışıyor

domain.com/about

bazı sayfaları bir ikinci değişken örneğin var

index.php?page=event&eventID=42

Bu aşağıda. htaccess ile çok çalışıyor

domain.com/event/42

benim sorunum ben de örneğin değişkenler gerektiren diğer diğer sayfaları olması

index.php?page=news&newsID=4
domain.com/news/42

index.php?page=map&venueID=4
domain.com/map/42

Bunu yapmak mümkün mü?

Şimdiden teşekkürler

. K

. Htaccess

Options +FollowSymLinks

RewriteEngine On

RewriteRule ^([^/\.]+)/*$ /index.php?page=$1 [L]
RewriteRule ^([^/\.]+)/*([^/\.]+)/*$ /index.php?page=$1&eventType=$2 [L]

3 Cevap

Tabii, sadece do

RewriteRule ^([^/\.]+)/*$ /index.php?page=$1 [L]
RewriteRule ^event/([^/\.]+)/*$ /index.php?page=event&eventType=$1 [L]
RewriteRule ^news/([^/\.]+)/*$ /index.php?page=news&newsID=$1 [L]
RewriteRule ^map/([^/\.]+)/*$ /index.php?page=map&venueID=$1 [L]

Bu kuralları deneyin:

RewriteRule ^([^/.]+)/?$ /index.php?page=$1 [L]
RewriteRule ^map/([^/.]+)/?$ /index.php?page=map&venueID=$1 [L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ /index.php?page=$1&$1ID=$2 [L]

URL parametresi mapID ama venueID olmadığı gibi /map/… URL'leri ayrı bir kural gerekir. Ancak geri kalan üçüncü kural kapsamında olmalıdır. Eğer kimliği parametresi sadece id ararsanız ama kesinlikle daha kolay olurdu.

Aşağıdaki linke bakın, bu yararlı olacağını umuyoruz.

Mod Rewrite Generator