我有以下重写规则。他们需要让CoolURI for typo3在Apache服务器上运行。现在我想为nginx服务器做同样的事情。
RewriteEngine On
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)$ - [L]
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
任何人都可以帮我转换为nginx conf吗?我发现这个http://nginx.org/en/docs/http/converting_rewrite_rules.html但是我对nginx很新,并且无法弄清楚如何转换它......
有什么想法吗?
答案 0 :(得分:4)
这应该有效:
location / {
index index.php index.html index.htm;
try_files $uri @rewrite;
}
location @rewrite {
rewrite ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)$ - last;
rewrite ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - last;
}
您可以将其放在server { ... }
声明中。
我不使用Typo3,所以我不能确定它是否会起作用,但它可能只需要一些基本的调整。