【发布时间】:2016-04-29 06:34:27
【问题描述】:
您好,我想将 nginx 重写为流式
到
http://my-domain/rates/callrates.php?c=Canada
用户将看到网址为http://my-domain/Canada 并且 php 将执行以下 url 中的页面
http://my-domain/rates/callrates.php?c=Canada
如何在 nginx.conf 中启用此功能?
server
{
listen 80;
server_name my-domain.com;
access_log /home/www/my-domain/logs/access.log;
error_log /home/www/my-domain/logs/error.log;
root /home/www/my-domain/public_html;
location / {
index index.php login.php;
try_files $uri $uri/ $uri.php?$query_string @extensionless-php;
error_page 404 /404.php;
}
location ~* ^/(?<country>\w+)$ {
rewrite ^ /testring/callrates.php?c=$country last;
}
location ~ \.html$
{
if (!-f $request_filename)
{
rewrite ^(.*)\.html$ $1.php last;
}
}
location ~ .*\.php$
{ include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/r2wconnect.com/public_html$fastcgi_script_name;
}
location @extensionless-php
{
rewrite ^(.*)$ $1.php last;
}
}
【问题讨论】:
-
我看不出新的位置块是如何破坏
.css和.js的,除非它们的网址没有扩展名,因此看起来像国家名称网址。 -
嗨,我设法修复了它。这是由于 html 标头中的基本 url。现在一切正常。非常感谢你的时间
标签: url nginx url-rewriting rewrite