0

以下のnginxのapache htaccess書き換えルールを翻訳したいと思います。

 RewriteCond %{REQUEST_FILENAME} -f [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^(.+) - [PT,L]
 RewriteRule ^(.+) /index.php

それを行う方法はありますか?

4

1 に答える 1

0

Apacheの書き換えルールは、他の質問、特に非置換の特別なダッシュ「-」ルールで明確に説明されています。これは、nginx のtry_filesディレクティブとして書き換えることができます。

あなたの質問には、空の文字列(ホームページ)のルールがリストされていません(空でない文字列(.+)のみがあります)。したがって、どこか別の場所のホームページに 1 つのルールがあると仮定します。nginxのルールは

location = / {
   # your nginx rule matching the empty string (for your home page)
}

# all other locations try in the order: file => directory => index.php
location / {
  try_files $uri $uri/ /index.php;
}
于 2013-03-12T00:12:34.567 に答える