1

私は.htaccessルールを次のように書いています

RewriteRule ^questions\/interview\/list\/(.+)$ questions\/interview\/list\/index.php?col1=$1

したがって、url を呼び出すと、にquestions/interview/list/testmeリダイレクトされindex.phpます。

問題は$col1、testme の代わりに index.php を表示している場合です。私は何を間違っていますか?

4

1 に答える 1

3

これは、書き換えエンジンがループするためです。いくつかの条件を追加してみてください。

RewriteCond %{REQUEST_URI} !index\.php$
RewriteRule ^questions/interview/list/(.+)$ questions/interview/list/index.php?col1=$1 [L]

あるいは:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^questions/interview/list/(.+)$ questions/interview/list/index.php?col1=$1 [L]

書き換えエンジンがループすると(.+)、正規表現の一部が に一致するindex.phpため、 にcol1=変わりますindex.php

于 2013-10-22T13:47:37.317 に答える