MOD_REWRITE - URL ENDING TRAILING SLASH

时间:2017-01-12 09:33:40

标签: apache .htaccess mod-rewrite trailing-slash

upstream  myserver {
    server   localhost:9100 weight=1;
}

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;



    location ^~ /api/ {
       proxy_pass http://myserver/;
    }

    location / {
    }
}

你好我在URL关闭尾随斜线时非常努力。

Options -Indexes +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC] 
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_URI} !(/$|\.) 
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L] 

ServerSignature Off

RewriteRule ^cookie-policy/?$ cookie_policy.php [NC,L]`

我想强制重定向从RewriteRule ^cookie-policy/?$ cookie_policy.php [NC,L] www.website.com/cookie-policy

1 个答案:

答案 0 :(得分:1)

使用此:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

它会在您的网址末尾添加/。在测试之前,请确保清除缓存。