1

私はこのような小さなURLを作成しようとしています:

site.com/abc123

に行く:

site.com/index.php?token=abc123

しかし、何をしようとしてもリダイレクトループが発生し続けるか、index.php?token=index.phpにリダイレクトしようとします。

現在の.htaccessは次のとおりです。

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

3 に答える 3

1

これが私がしたことです(私はhttp://myurl.com/b32adのような英数字コードをリダイレクトしています):

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) /index.php?token=$1 [L]
于 2010-04-12T03:12:57.553 に答える
0

私は昨日同様の質問に答えました:htaccess:動的URLをリダイレクトします-静的URLのみを表示します-ダブルコンテンツ

これはそれを行う必要があります:

RewriteCond %{QUERY_STRING} ^token=([a-zA-Z0-9]+)$
RewriteRule ^/ /%1? [R=302,L]
于 2010-04-12T03:09:30.967 に答える
0

[L]そのルールにオプションが付いているので、それは奇妙です。他の何かによって引き起こされた外部リダイレクトがある可能性がありますか?

とにかく、ルールを存在しないファイル(おそらくディレクトリも)のリクエストに制限することができます。

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

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecondを参照してください

于 2010-04-12T03:10:30.310 に答える