如何在Nginx服务器中重写具有多个get参数的URL?

时间:2018-03-10 23:39:07

标签: php nginx server url-rewriting

我正在开发一个新的游戏开发。首先,我想谈谈我的网址结构。

df['ZipLen'] = np.floor(np.log10(df['ZipCode'].values)).astype(int) + 1

我想改变我的网址结构:

domain.com/character.php  
domain.com/character.php?id=1

domain.com/character.php?id=1page=slog
domain.com/character.php?page=slog

domain.com/character.php?page=slog&date=4-2018
domain.com/character.php?id=1&page=slog&date=4-2018

domain.com/character.php?id=1&page=slog&sid=10
domain.com/character.php?page=slog&sid=10

然后那个目的我写了一个类似于nginx服务器配置的代码。但这仅适用于character.php及其子页面。我将为place.php,company.php等添加其他版本。有没有简短的方法来代替:

domain.com/character/  
domain.com/character/1

domain.com/character/1/slog
domain.com/character/slog

domain.com/character/slog/date/4-2018
domain.com/character/1/slog/date/4-2018

domain.com/character/1/slog/sid/10
domain.com/character/slog/sid/10

感谢您的回复。

1 个答案:

答案 0 :(得分:-1)

为此目的使用nginx配置似乎非常不正统。您应该在PHP应用程序级别上路由URL,因为nginx已经可以使用try_files $uri $uri/ /index.php$is_args$args;处理此类请求。

您应该使用$_SERVER['REQUEST_URI']来查看how to route URLs like that in PHP