下面是我在Nginx 1.2.5运行的服务器的配置文件中的简化版本,但在提供数据之前导致301 Moved Permanently
Location: http://example.com/phpmyadmin/
,这不是我的期望从rewrite
指令的默认行为。
server {
listen 80;
location /pma {
rewrite ^ /phpmyadmin;
}
location /phpmyadmin {
root /var/www;
index Documentation.html;
}
}
当我在浏览器中转到http://example.com/pma
时,会提供数据,但地址栏中的网址会更改为http://example.com/phpmyadmin/
,而该网址应该保留http://example.com/pma
。
如何避免Nginx发送301 Moved Permanently
以便它不会在我的服务器上公开实际的目录结构?
答案 0 :(得分:0)
尝试别名:
server {
listen 80;
location /pma {
alias /phpmyadmin;
}
location /phpmyadmin {
root /var/www;
index Documentation.html;
}
答案 1 :(得分:0)
我认为您需要使用别名而不是重写。重写会创建一个“新”URL,因此会进行重定向
server {
listen 80;
location /pma {
alias /var/www/phpmyadmin;
index Documentation.html;
}
location /phpmyadmin {
root /var/www;
index Documentation.html;
}
}