从网址中删除强制尾随斜杠行为

时间:2019-08-02 14:17:04

标签: php apache .htaccess nginx mod-rewrite

我的网站有以下.htaccess文件:

RewriteEngine ON

RewriteCond %{REQUEST_URI} !/vacancies/rss [NC]
RewriteRule ^(.*)$  https://new4.new3.new2.ua/$1 [R=301,L]

现在,除了一件事以外,一切都按预期工作:

当我访问以下URL:http://old4.old3.old2.ua/vacancies/rss?rid=34时,我将http://old4.old3.old2.ua/vacancies/rss/?rid=34重定向到/rss之间的?rid,但是在这种情况下,预期的URL是与最初请求的网址相同-http://old4.old3.old2.ua/vacancies/rss?rid=34

我的服务器配置如下-网站在Nginx代理服务器后面的Apache服务器上运行。

这是Nginx配置:

server {
listen 80;
server_name old4.old3.old2.ua;

charset utf-8;

gzip on;
client_max_body_size 100m;
client_body_buffer_size 128k;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

root /srv/www/htdocs/old4.old3.old2.ua/;

location / {
if (-f /srv/www/htdocs/old4.old3.old2.ua/maintenance.enable) {
return 503;
}
auth_basic "Restricted zone"; 
auth_basic_user_file /etc/nginx/bonus.passwd;

proxy_pass http://127.0.0.1:81;
proxy_redirect http://127.0.0.1:81 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}

location ~^\/web\/images.*\.(jpg|jpeg|gif|png|ico) {
root /srv/www/htdocs/old4.old3.old2.ua/;
}

location ~* ^.+\.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bz2|pdf|odt|txt|tar|bmp|rtf|js|swf|svg|mp4|mp3|ogg|flv)$ {
root /srv/www/htdocs/old4.old3.old2.ua/web;
}

error_page 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /maintenance.html break;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /srv/www/htdocs/;
} 


location ~ /\.ht {
deny all;
}

listen 443 ssl; # managed by Certbot
ssl_certificate /etc/certbot/live/old4.old3.old2.ua/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/certbot/live/old4.old3.old2.ua/privkey.pem; # managed by Certbot
include /etc/certbot/options-ssl-nginx.conf; # managed by Certbot


}

Apache配置:

<VirtualHost *:81>

ServerName old4.old3.old2.ua

DocumentRoot /srv/www/htdocs/old4.old3.old2.ua

# if not specified, the global error log is used
ErrorLog /var/log/apache2/old4.old3.old2.ua-error_log
CustomLog /var/log/apache2/old4.old3.old2.ua-access_log combined

# don't loose time with IP address lookups
HostnameLookups Off

# needed for named virtual hosts
UseCanonicalName Off

# configures the footer on server-generated documents
ServerSignature On

Include /etc/apache2/conf.d/php7.conf

DirectoryIndex index.php

<Directory "/srv/www/htdocs/old4.old3.old2.ua">
Options Indexes FollowSymLinks
AllowOverride All
# Order allow,deny
# Allow from all
Require all granted
</Directory>
</VirtualHost>

我在做什么错以及如何解决?

0 个答案:

没有答案
相关问题