我有这个NGINX配置:
root /var/www/web;
index index.php;
server_name domain.com;
access_log off;
error_log on;
location / {
rewrite ^/(.*)$ /index.php?tag=$1&page=1 last;
}
现在,我想重定向网址,例如 从“ domain.com/index.php?tag=1§ion=2&type=3”更改为“ domain.com/tag/section/type”
我该怎么做,我应该在哪里放置代码?请帮助,
谢谢
我已经尝试过:
location / {
rewrite ^/index\.php?tag=(.*)§ion=(.*)&type=(.*)$ /$1/$2/$3 permanent;
rewrite ^/(.*)$ /index.php?tag=$1&page=1 last;
}
但是它没有用..
答案 0 :(得分:1)
<?php
$con = mysqli_connect('localhost','root','');
if(!$con) {
echo 'Not connected with server';
}
if(!mysqli_select_db ($con,'restaurant')) {
echo 'Database Not selected';
}
$tablenumber = $_POST['tafelnummer'];
$receiptid = $_POST['receiptid'];
$menu_item = $_POST['menu_item'];
$date = $_POST['date'];
$sql = "INSERT INTO Orders (orders.Tafel_Id, orders.ReceiptID, orders.MenuItemID, orders.Res_Datum )
VALUES ('$tablenumber', '$receiptid', '$menu_item', '$date')";
if(!mysqli_query($con,$sql)){
echo 'insert did not work';
}else {
echo 'Order created successfully';
}
header("refresh:1; url=bestelling.php");
?>
和rewrite
指令使用不包含查询字符串的规范化URI。
要测试查询字符串,您将需要使用location
语句和/或$request_uri
指令来查询$args
或if
变量。
使用map
的好处是它包含原始请求,将有助于避免重定向循环。
如果仅执行一个重定向,则$request_uri
解决方案可能会超载。
尝试:
map
有关if ($request_uri ~ ^/index\.php\?tag=(.*)§ion=(.*)&type=(.*)$) {
return 301 /$1/$2/$3;
}
location / {
...
}
的使用,请参见this caution。