こんにちは私はこれらをnginx形式に書き直そうとしていますが、進歩を遂げることができませんでした。これらをnginx用に書き直すのを手伝ってもらえますか?
# Rewrite any calls to *.html, *.json, *.xml, *.atom, *.rss, *.rdf or *.txt if a folder matching * exists
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !public/
RewriteCond %{DOCUMENT_ROOT}/public/$1.$2 !-f
RewriteRule (.+)\.(html|json|xml|atom|rss|rdf|txt)$ $1/ [L]
# Add a trailing slash to directories
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.|\?)
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ([^/]+)$ $1/ [L]
# Rewrite any calls to /render to the image parser
RewriteCond %{REQUEST_URI} render/
RewriteRule ^render/. app/parsers/slir/ [L]
# Rewrite any calls to /* or /app to the index.php file
RewriteCond %{REQUEST_URI} /app/$
RewriteRule ^app/ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ index.php?/$1/ [L,QSA]
# Rewrite any file calls to the public directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.+)$ public/$1 [L]
私はこれを試しましたが、うまくいきませんでした。
location public/ {
}
location ~ (\.|\?) {
}
location ~ (.*)/$ {
}
location public/ {
}
location / {
if (!-e $request_filename){
rewrite (.+)\.(html|json|xml|atom|rss|rdf|txt)$ /$1/ break;
}
if (!-e $request_filename){
rewrite ([^/]+)$ /$1/ break;
}
if ($request_uri ~ "render/"){
rewrite ^/render/. /app/parsers/slir/ break;
}
if ($request_uri ~ "/app/$"){
rewrite ^/app/ /index.php break;
}
if (!-e $request_filename){
rewrite ^/(.*)/$ /index.php?/$1/ break;
}
if (!-e $request_filename){
rewrite ^(.+)$ /public/$1 break;
}
}
これを試してURLを入力すると。ファイルをダウンロードします。