将重写规则转换为npox conf for typo3

时间:2012-05-07 19:25:46

标签: regex .htaccess mod-rewrite nginx

我有以下重写规则。他们需要让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很新,并且无法弄清楚如何转换它......

有什么想法吗?

1 个答案:

答案 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,所以我不能确定它是否会起作用,但它可能只需要一些基本的调整。