Попытка создать крошечные URL, получая петлю перенаправления - PullRequest
1 голос
/ 12 апреля 2010

Я пытаюсь создать крошечные URL, как это:

site.com / абв123

идет к:

site.com / index.php? Лексема = абв123

но я продолжаю получать циклы перенаправления независимо от того, что я пытаюсь, или он пытается перенаправить на index.php? Token = index.php ..

Текущий .htaccess:

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

Ответы [ 3 ]

1 голос
/ 12 апреля 2010

Вот что я сделал (я перенаправляю буквенно-цифровые коды вроде http://myurl.com/b32ad):

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) /index.php?token=$1 [L]
0 голосов
/ 12 апреля 2010

Это странно, поскольку у вас есть опция [L], присоединенная к этому правилу.Может ли быть перенаправление external , вызванное чем-то другим?

В любом случае, вы можете ограничить правило запросами для несуществующих файлов (возможно, каталогов тоже).

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

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

0 голосов
/ 12 апреля 2010

Я ответил на аналогичный вопрос вчера: htaccess: Перенаправить динамический URL - Показать только статический URL - Двойной контент

Это должно сделать это:

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