Maison > Questions et réponses > le corps du texte
Si nginx
la configuration suivante
Je visite http://kaipizhe.com
这个时候 request.getRequestURI();
这个值是 /kaipizhe/
而不是 /
Je visite http://kaipizhe.com/all/
这个时候 request.getRequestURI();
这个值是 /kaipizhe/all/
而不是 /all/
est request.getRequestURI();
都会带上 /kaipizhe/
,怎么让他直接是 /
,
Est-ce moi ? nginx
Il y a un problème de configuration, que dois-je faire ?
nginx
log_format kaipizhe.com '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; server { listen 80; server_name kaipizhe.com; root /usr/local/tomcat/webapps/kaipizhe; include none.conf; location / { proxy_pass http://localhost:8080/kaipizhe/; proxy_cookie_path /kaipizhe /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect http://localhost:8080/kaipizhe/ http://kaipizhe.com/; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/kaipizhe.com.log kaipizhe.com; }
阿神2017-05-16 17:25:41
Il est recommandé de modifier la configuration de Tomcat, de configurer un hôte virtuel pour votre projet et de définir le répertoire racine du projet sur /usr/local/tomcat/webapps/kaipizhe (ou le répertoire racine réel de votre projet), afin que vous n'avez pas besoin d'ajouter un / lors de l'accès au préfixe kaipizhe, naturellement le résultat obtenu par request.getRequestURI() est également ce que vous souhaitez.
Si vous utilisez l'accès ci-dessus, pensez à modifier la configuration de nginx, ça devrait aller.
location / {
proxy_pass http://localhost:8080/;
proxy_cookie_path / /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http://localhost:8080/ http://kaipizhe.com/;
}
迷茫2017-05-16 17:25:41
Vous pouvez également l'implémenter sans modifier la configuration de Tomcat, ajouter un hôte virtuel ou utiliser les règles de réécriture nginx ;
server {
listen 88;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location /SMSSupport/ { #静态资源会自动request.getRequestURI()头
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
}
location / { #非静态请求,自动转发到对应tomcat项目下
proxy_pass http://127.0.0.1:8080/SMSSupport/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
}