2015-04-21 34 views
5

Bu url'den .htaccess dosyasını kullanarak ?id= ve &title= kaldırmamız gerekiyor. ŞimdiBu URL’den kimlik ve başlık nasıl kaldırılır?

URL - http://www.XXXX.com/video.php?id=XX&title=XXX-XXX-XXX

ben gerekenler - http://www.XXXX.com/video.php/XX/XXX-XXX-XXX

Zaten bütün bağlantılardan .php kaldırdık.

+1

Peki ne denediniz? –

+0

post yöntemini kullanın, bunu –

+0

'RewriteRule^video/([0-9] +)/([0-9a-zA-Z _-] +) $ video.php? Id = $ 1 & title = ile deneyebilirsiniz. $ 2 [NC, L] 'bu çalışmıyor .. – Nilohn

cevap

5

ardından htaccess kodu

//First Parameer 
    RewriteEngine On 
    RewriteRule ^([a-zA-Z0-9_-]+)$ video.php?id=$1 
    RewriteRule ^([a-zA-Z0-9_-]+)/$ video.php?id=$1 

    //Second Parameter 
    RewriteEngine On 
    RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ video.php?id=$1&title=$2 
    RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ video.php?id=$1&title=$2 
+1

Evet, bu benim sürümümden çok daha iyi. Güzel. –

+0

Bunun neden işe yarayacağını anlamıyorum. OP, querystring'i kaldırmak istiyor. –

1

sizin .htaccess dosyaya kodunun altına ekleyin iş yapacağız.

RewriteEngine on 
RewriteBase/
RewriteCond %{QUERY_STRING} ^id=(.*)\&title=(.*) 
RewriteRule (.*) /$1/%1/%2? [NC,L,R=301] 

çıktı bu kod ben sizin için çalışıyor umut benim için çalışıyor

http://www.XXXX.com/video.php/XX/XXX-XXX-XXX 

olduğunu. Böyle bir RewriteCond deyimi kullanmak gerekir sorgu dizesi erişmek için

+0

sizin kuralınız bir id ve başlık parametresi ile herhangi bir url için eşleşecek, sadece ''/video.php' –

+0

@MarioA Hey, kodumu şimdi sadece herhangi bir dosya ile çalışıyorum sadece video.php Teşekkürler –

1

: id ve başlık parametreleri örneğin tam sırayla olduğunda

RewriteEngine on 
RewriteCond %{QUERY_STRING} id=([^&]+)&title=([^&]+) 
RewriteRule ^video.php$ video.php/%1/%2 [L,R=301] 

Yukarıdaki örnek çalışır. Sorgulamada başka parametreler varsa veya parametreler herhangi bir sırada olabilirse, kuralları ayarlamanız gerekir.

+0

neden olmalı? 'RewriteRule^video.php $ ', yalnızca başka bir şeyle/video.php' ile eşleşmiyor. –

+0

Hey millet, bu benim hatam. Bunun için teşekkürler. –

1

Bütün bu cevaplar için çok teşekkür ederim. Subodh Ghulaxe iyi bir cevap gönderdi.

Ancak bu benim için kod çalışıyor.

# To externally redirect /dir/foo.php?id=123&title=456 to /dir/123/456 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?id=([^&]+)&title=([^&\s]+) [NC] 
RewriteRule^%1/%2/%3? [R,L] 

# To externally redirect /dir/foo.php?id=123 to /dir/123 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?id=([^&\s]+)\s [NC] 
RewriteRule^%1/%2? [R,L] 

# To internally forward /dir/foo/12 to /dir/foo.php?id=12 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/([^/]+)(/[^/]+)?/?$ $1.php?id=$2 [L,QSA] 

RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ video.php?id=$1&title=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ video.php?id=$1&title=$2 

# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\s [NC] 
RewriteRule^%1 [R,L] 

# To internally forward /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^(.*?)/?$ $1.php [L] 

Sumurai8

here Bu kodu (komple .htaccess kodu) tamamladı. Umarım bu kod birisine yardımcı olur. Css için js, görüntüler mutlak yolları kullanır.

İlgili konular