Htaccess ile URL iki değişken Başlarken

3 Cevap php

Ne yolu htaccess ile URL iki GET yöntemleri almak için olmaktır?

RewriteRule ^adm/(.*)$ adm.php?mode=$1

Ben örnek URL için o kullandım:

http://www.domain.com/adm/thismode

Şimdi ben gibi iki yöntem almak istiyorum:

http://www.domain.com/adm/thismode/othermode

Bu denedim:

RewriteRule ^adm/(.*)$/(.*)$ adm.php?mode=$1&othermode=$2

Ama çalışmak ... görünmüyor nasıl bunu yapmak için alabilirim?

EDIT:

$ Modu1 = $ _GET ['mode'];

$ Mode2 = $ _GET ['othermode'];

Bu gibi ...

EDIT AGAIN:

http://www.domain.com/adm/generated/pass/6z9c4q9k8p

Doğru ... Bu onu yapmak zorunda URL

Ve PHP bu var:

if($mode == "generated")

Ben modu URL ayarlı ise PHP görmek istiyorum ve oluşturulan şifre diğer GET

Ben bu yolu olarak htaccess koymak:

RewriteRule ^adm/(.*)/(.*)$ adm.php?mode=$1&generated=$2

PHP ayrıca URL oluşturulan şifre kapmak ve sayfada gösterecektir.

3 Cevap

Eğer yaşıyorsanız sorun ne şimdi var Richard gibi görünüyor siz ne gerekli?

Lütfen örnek URL kullanarak:

http://www.domain.com/adm/generated/pass/6z9c4q9k8p

ve senin. htaccess aşağıdaki

RewriteRule ^adm/(.*)/(.*)/(.*)$ adm.php?mode=$1&generated=$2&pass=$3

o zaman yapabilirsiniz:

$mode1 = $_GET['mode'];
$generated = $_GET['generated'];
$pass = $_GET['pass'];
if ( $mode1 == 'generated' && $generated == 'pass' ) 
    echo $pass;

ya o değil soruydu?

Perl uyumlu RegExs bir $ "end" gösterir bir çapa vardır. Yani sonra, sizin deseninin ortasında gelen $ kaldırmak ^adm/(.*):

RewriteRule ^adm/(.*)/(.*)$ adm.php?mode=$1&othermode=$2

Bunun yerine. Htaccess karmaşık düzenli ifadeler yazma, ben sadece basit kullanmak

RewriteCond $1 !^adm\.php
RewriteRule ^adm/(.*)$ adm.php/$1 [L]

ve $_SERVER['PHP_SELF'] adm.php içinde çalışmak böylece. htaccess değiştirmeden adm ile başlar karmaşık URL her türlü işleyebilir.