1

我有以下重写规则。他们需要获得 CoolURI fortypo3 在 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 真的很陌生,无法弄清楚如何转换它......

有任何想法吗?

4

1 回答 1

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

于 2012-05-07T19:52:12.673 回答