kov*_*ert 2 nginx web-server lighttpd
由于大多数开源项目都包含 mod_rewrite 规则以与 Apache 一起使用,因此我需要能够将它们转换为与 lighttpd 或 nginx 一起使用。哪个 Web 服务器允许我将规则完全转换为来自 Apache 的规则?如果两者都可以准确转换,哪一个具有更好的语法和高级选项,可以更好地模仿 Apache?
例如,我将使用来自 Wordpress 的 .htaccess。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
如果您试图保留重写规则,nginX 似乎是要走的路。
这可以像这样完成:
if (!-e $request_filename) {
rewrite ^([_0-9a-zA-Z-]+)?(/.*) $2 break;
rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
rewrite ^ /index.php last;
}
Run Code Online (Sandbox Code Playgroud)
但似乎 nginX 的强大之处在于具有更简单、更小的规则,因此这可能是替代它的更好方法:
if (!-e $request_filename) {
rewrite ^ /index.php last;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
507 次 |
最近记录: |