将“手工制作” htaccess移至nginx配置

时间:2019-01-27 07:36:14

标签: linux wordpress .htaccess nginx

主要问题是由https://winginx.com/htaccess转换的代码无法正常工作。尝试打开页面时,它只有白皮书,没有任何调试消息。

已经具有nginx配置:

server {

    location / {
        try_files $uri $uri/ /index.php?$args;
                rewrite ^/course-track/* https://website.com/profile/? redirect;
                rewrite ^/course-category/* https://websitw.com/profile/? redirect;
    }
        location /extra-online-testing/ {
                rewrite ^(.*)$ https://website.com/tests/extra-online-testing/ redirect;
        }

        location = /my-courses/ {
               rewrite ^(.*)$ https://website.com/profile/? redirect;
        }
        location = /courses/ {
         rewrite ^(.*)$ https://website.com/profile/? redirect;
        }
}

htaccess:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/my-courses/$
RewriteRule ^.*$ https://website.com/profile/? [R=301,L]

RewriteCond %{REQUEST_URI} ^/course-track/*
RewriteRule ^.*$ https://website.com/profile/? [R=301,L]

RewriteCond %{REQUEST_URI} ^/courses/$
RewriteRule ^.*$ https://website.com/profile/? [R=301,L]


RewriteCond %{REQUEST_URI} ^/course-category/*
RewriteRule ^.*$ https://website.com/profile/? [R=301,L]

Redirect 301 /extra-online-testing/ https://website.com/tests/extra-online-testing/

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我尝试了另一个转换器,但结果相同。

1 个答案:

答案 0 :(得分:0)

尝试此代码:),让我知道它是否对您有用:)

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.php index.html index.htm;

        server_name your_domain.com;

        location / {
                # try_files $uri $uri/ =404;
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }




          location = /my-courses/ {
          rewrite ^(.*)$ https://website.com/profile/? redirect;
      }

          location / {
          rewrite ^/course-track/* https://website.com/profile/? redirect;
          rewrite ^/course-category/* https://website.com/profile/? redirect;
      }

          location = /courses/ {
          rewrite ^(.*)$ https://website.com/profile/? redirect;
      }

          location /extra-online-testing/ {
          rewrite ^(.*)$ https://website.com/tests/extra-online-testing/ redirect;
      }

          location / {
          rewrite ^/course-category/* https://website.com/profile/? redirect;
      }


}