0

{url} / klanten /home/または{url}/klanten / logout /に移動すると、500内部サーバーエラーが発生します。

私のhtaccess:

RewriteEngine on

RewriteRule ^klanten/([^/]+)/?$ klanten/$1.php [L,QSA,NC]

RewriteRule ^error/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ error.php?type=$1&error=$2&file=$3&from=$4 [L,QSA,NC]

RewriteRule ^email/([^/]+)/?$ email.php?id=$1 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

マップ「klanten」が存在し、ファイルhome.phpおよびlogout.phpも存在します。

ありがとう!

4

1 に答える 1

1

このルールは間違っています、それは無期限のリダイレクトにつながります:

RewriteRule ^klanten/([^/]+)/?$ klanten/$1.php [L,QSA,NC]

/klanten/logout/それにつながり/klanten/logout.php、順番に何度も書き直されます。

ドットを文字クラスに追加して、ドットのないURLのみが書き換えられるようにすることができます。

RewriteRule ^klanten/([^/\.]+)/?$ klanten/$1.php [L,QSA,NC]

または、既存のファイルとディレクトリが書き換えられないという条件を追加するだけです(明らかに、より良い解決策です...):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^klanten/([^/]+)/?$ klanten/$1.php [L,QSA,NC]
于 2012-09-15T22:34:43.220 に答える