0

次のhtaccessを使用してサーバーで作業しています。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
RewriteRule  ^[^/]*\.html$ index.php
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - [L]

今、彼らは私に彼らのサーバー内に静的ページを準備するように頼みました、それをhttp://www.myserver.com/mystaticpage.htmlと呼びましょう

問題は、そのURLにアクセスしようとすると、index.phpにリダイレクトされることです。インストールされているCMSをいじることなく、この問題に対処するためにhtaccesファイルを変更するにはどうすればよいですか?

4

1 に答える 1

1

これを試して:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond ${REQUEST_URI} !^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)
RewriteRule .* index.php
  • 以前に使用したルールは冗長でし.*た。index.phpに書き直された場合、なぜそれにも書き直さ^[^/]*\.html$ index.phpれるのでしょうか。すでに前のルールと一致しています...
  • RewriteCond3つの条件は最初のルールにのみ適用されたため、これらも重複していました。したがって、2番目のルールはディスク上の静的ファイルにも適用されました。
  • また、最後にリストされた2つのルールはまったく効果がありませんでした。最初にそれらをリストする必要があるか、まったくリストしないかのどちらかです。RewriteCond特定のURIでの書き換えを回避しようとしただけなので、追加に変換しました
于 2012-06-26T10:23:52.170 に答える