0

重複の可能性:
PHP + .htaccess で GET 変数にアクセスする

次のことを行うために、.htaccess と PHP スクリプトの組み合わせを作成しようとしています。

URL = http://mysite.com/XXXXXXXの場合、http://mysite.com/subdir/index.php?var=XXXXXXX にリダイレクトします

XXXXXXX は、.php 拡張子のない 7 文字の任意の英数字文字列です。

これは私がこれまでに持っているものです。

RewriteEngine On
RewriteRule ^(.*)$ index.php?code=$1
RewriteRule ^subdir/(.*)$ index.php?code=$1 [L,QSA]

どんな助けでも大歓迎です。

更新:返信ありがとうございます。リンクは役に立ちましたが、問題が発生しているのは状態だと思います。

RewriteEngine On
RewriteCondition [HAS 7 ALPHANUM CHARS]  <--HERE
RewriteRule ^(.*)$  /subdir/index.php?code=$1 [QSA,L]
4

1 に答える 1

1

簡単に試してください:

RewriteEngine On
RewriteRule (^|/)([a-z0-9]{7})/?$ index.php?code=$2 [L,QSA,NC]

正規表現(^|/)([a-z0-9]{7})/?$は、URI の最後の部分に確実に一致するようにします。最後の部分の後に、/正確に 7 つの数字/文字が含まれます。

したがって、これらは一致します:

/123abcD
/123abcD/
/something/098eif2
/foo/bar/path/1q2w3rT
于 2012-08-27T22:26:20.740 に答える