nasıl aşağıdaki. htaccess dosyası oluşturabilirim?

1 Cevap php

Benim. Htaccess dosyasında aşağıdaki kodu yazdım

Options +FollowSymLinks
RewriteEngine on
RewriteRule page/(.*)/ index.php?page=$1&%{QUERY_STRING}
RewriteRule page/(.*) index.php?page=$1&%{QUERY_STRING}

Url "xyz.in / index.php? Page = ev" tarayıcınızın adres çubuğuna bu gibi bakacağız "xyz.in / sayfa / home"

Ben? "Değer = 1 xyz.in / sayfa / home" veya "xyz.in / sayfa / ev gibi yazmak zorunda olacak daha URL yoluyla bir değişken geçmek istiyorum? Değeri = 1 & value2 = 56 & flag = true "

Url (xyz.in / sayfa / home) ilk bölüm (arama motoru dostu) temiz, ama ben url biraz daha değişkenleri geçirirseniz o zaman güzel görünmüyor.

I want to make this url like "xyz.in/page/home/value/4/value2/56" and so on.

Değişkenler değer ve value2 onlar sadece buraya örneğin kullanılan statik değildir. Adı bir şey olabilir.

Bunu yapmak mümkün mü?

Beni ". Htaccess" dosyasını oluşturur yardım edin

(Başlık, dil ya da bu soruya kullanılan etiketlerle ilgili herhangi bir düzeltme bekliyoruz)

Teşekkürler

1 Cevap

Kolay PHP ile URL yolu ayrıştırmak olacaktır. Sonra sadece PHP dosyası isteklerini yeniden yazmak bu kural gerekir:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php$ index.php [L]

Durumu var olmayan dosyaları yalnızca istekleri yeniden yazılamaz sağlayacaktır.

Sizin PHP komut dosyası daha bu gibi görünebilir:

$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', ltrim($_SERVER['REQUEST_URI_PATH']));
for ($i=0, $n=count($segments); $i<$n; $i+=2) {
    $_GET[rawurldecode($segments[$i])] = rawurldecode($segments[$i+1]);
}