Minik adresler oluşturmak için çalışıyor, döngü yönlendirme alıyorum

3 Cevap php

Ben bu gibi küçük URL'ler oluşturmak çalışıyorum:

site.com/abc123

gider:

site.com / index.php? belirteç = abc123

ama ne olursa olsun ben ne deneyin döngüler yönlendirme elde tutmak, ya da index.php yönlendirmek için çalışır? belirteç = index.php ..

. Şu htaccess olduğunu:

Options +FollowSymLinks
Options -MultiViews
RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?token=$1 [L]

3 Cevap

İşte ben (http://myurl.com/b32ad gibi alfanümerik kodları yönlendirme ediyorum) yaptık ne:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) /index.php?token=$1 [L]

Ben dün bir benzer soru cevap var: http://stackoverflow.com/questions/2611506/htaccess-redirect-a-dynamic-url-show-only-static-url-double-content/2611572#2611572

Bu yapmak gerekir:

RewriteCond %{QUERY_STRING} ^token=([a-zA-Z0-9]+)$
RewriteRule ^/ /%1? [R=302,L]

Eğer bu kurala bağlı [L] seçeneğine sahip beri bu garip. Bir external başka bir şey neden yönlendirme olabilir mi?

Neyse, (belki dizinleri) mevcut olmayan dosyalar için isteklerini kural sınırlayabilir.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /index.php?token=$1 [L]

bkz http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond