WordPress ve Drupal gibi RewriteRule nasıl kullanılır

1 Cevap php

Ben değişkenlerin çeşitli sayıda sahip olacak bir içeren komut ile bir web sitesi var.

İşte URL'leri ve değişkenlerin türlerinden bazıları şunlardır:

Main page: index.php
Login page: login.php (redirects to index.php after login).
Logout page: logout.php (redirects to login after logout).
Profile page: index.php?id=profile
Users password page: index.php?id=profile&sub=password

Ve bazı sayfaları bile URL fazla değişken var. Ben bu gibi güzel URL'leri elde edebilmek için RewriteRules kullanmak istiyorum:

url.com/my/site/ (base)
url.com/my/site/profile/ (profile page)
url.com/my/site/profile/password/ (password page)
url.com/my/site/profile/password/variable1/variable2/variable3/ (use variables in the URL)

. Htaccess dosyasında bunu nasıl yapabilirim? Site etki kök değil, klasörleri aşağı bir çift.

1 Cevap

. Htaccess varsayılan kabı dizin ve konteyner oğul dizinleri üzerinde etkisi olacak. Aşağıdaki kod iyi bir başlangıç ​​noktası olabilir.

<IfModule mod_rewrite.c>
  #Removing .php file extension.
     RewriteEngine on
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteCond %{REQUEST_FILENAME}\.php -f
     RewriteRule ^(.*)$ $1.php
</IfModule>

veya url içinde index.php 'un GET parametreleri kaldırmak isteyebilirsiniz:

<IfModule mod_rewrite.c>
      #removing GET parameters.  
          RewriteRule ^index/([^/\.]+)/?$ index.php?id=$1 [L]
</IfModule>

read more: