mod_rewrite Probs

2 Cevap php

PHP oldukça yeni ve sadece mod_rewrite ile başlarken. Ben temel dil bilmek ama ben sadece rota dizine başvurmak istiyorum sıkışmış zaman gel

diğer bir deyişle bu probs değil

RewriteRule ^settings/$ settings.php [QSA,L]

Ama nasıl örneğin olun:

RewriteRule ^page/(.*)$ index.php?Page=$1 [QSA,L]

üretir / sayfa / [sayfa adı]

Sadece olmak

/ [Sayfa-adı]

?

2 Cevap

Bu yapmak gerekir:

RewriteRule ^(.*/)$ index.php?Page=$1 [QSA,L]

Ancak, aksi takdirde tüm istekleri index.php?Page=... yönlendirileceksiniz, sahip tüm diğer özel yeniden yazma kuralları bundan sonra yeniden yazma kuralı koymalısın.

Belki seni anlamadı ama sizin sorununuzu çözmek için böyle. Htaccess dosyasına ihtiyacınız var gibi görünüyor.

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteBase /

  # Ignore valid files
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d    

  RewriteRule ^(.*)$ index.php?Page=$1 [QSA,L]
</IfModule>