Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Nginx中的路径变量(从Apache切换)将所有目录重定向到根目录?_Apache_Http_.htaccess_Mod Rewrite_Nginx - Fatal编程技术网

如何使用Nginx中的路径变量(从Apache切换)将所有目录重定向到根目录?

如何使用Nginx中的路径变量(从Apache切换)将所有目录重定向到根目录?,apache,http,.htaccess,mod-rewrite,nginx,Apache,Http,.htaccess,Mod Rewrite,Nginx,我在Apache中运行以下程序。我们的IT人员推荐使用Nginx而不是Apache来优化web流量。但是modrewrite在Nginx上的工作方式不同 本质上,我感兴趣的是将tld之后的所有信息转换为路径变量: 所以domain.com/abc/def/重定向到domain.com/index.php/abc/def/ 你能帮我在Nginx做这个吗?以下内容允许在Apache中执行此操作 <IfModule mod_rewrite.c> Options +FollowSym

我在Apache中运行以下程序。我们的IT人员推荐使用Nginx而不是Apache来优化web流量。但是modrewrite在Nginx上的工作方式不同

本质上,我感兴趣的是将tld之后的所有信息转换为路径变量: 所以domain.com/abc/def/重定向到domain.com/index.php/abc/def/

你能帮我在Nginx做这个吗?以下内容允许在Apache中执行此操作

<IfModule mod_rewrite.c>
    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    # The following redirects all directories to root using PATH variables
    # Ex. /abc/def/ redirects to /index.php/abc/def/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php/$1 [L]
</IfModule>

选项+以下符号链接-多视图
重新启动发动机
#下面使用路径变量将所有目录重定向到根目录
#例如/abc/def/重定向到/index.php/abc/def/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则(.*)index.php/$1[L]

谢谢。

试着把它放在
服务器{}
块的
位置/{}
块中:

if (!-e $request_filename) { 
    rewrite ^(.*)$ /index.php$1 last;
}

实现这一目标的最佳方法是:

server {
    try_files $uri $uri/ /index.php/$uri;

    ....
您可以在此处阅读有关此指令的更多信息-