1

私の HTAccess は以前は機能していました。しかし、サイトに FTP セクションを追加したかったのです。を使用する前に、すべての FTP が入り、/ftpへのすべての要求が認証などを処理/ftp/...する に内部的にリダイレクトされることが決定されています。正規表現のn00bであるため、これが機能すると想定しました:(ftpセクションのみが追加され、追加されました)/ftp.php?dir=...readfile(...)|ftp

RewriteEngine On

# http://httpd.apache.org/docs/2.4/rewrite/flags.html

# Match page
RewriteCond %{REQUEST_URI} !^/?(cydia|firmware|scripts|site|ftp)
RewriteCond %{REQUEST_URI} !^/?(robots.txt|ftp.php)
  RewriteRule ^/?(.*)$ /site/index.php?title=$1 [PT,L,QSA]

# Match FTP
RewriteCond %{REQUEST_URI} ^/?ftp
  RewriteRule ^/?(.*)$ /ftp.php?dir=$1 [PT,L,QSA]

RewriteRule ^/*$ /site/index.php [L,QSA]

基本的に、私がやったことは(私が思うに)/ftp上記のように false ではなく true として一致することでした。ただし、これにより500 Server Error、サイト全体が表示されます (HTAccess の問題を示しています)。これは単純なエラーだと思いますが、これで私を助けてくれることを願っています.

4

1 に答える 1

1

あなたの問題は、これらの行がftpで始まるすべてをリダイレクトすることです(ftp.phpを含むと、これにより無限ループが作成されます)

RewriteCond %{REQUEST_URI} ^/?ftp
RewriteRule ^?(.*)$ /ftp.php?dir=$1 [PT,L,QSA]

それらをこれに置き換えてみてください:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/?ftp
RewriteRule ^/?(.*)$ /ftp.php?dir=$1 [PT,L,QSA]
于 2012-08-10T02:29:28.580 に答える