Tanya soalan tentang penulisan semula apache
PHPz
PHPz 2017-05-16 17:04:19
0
3
716

Saya tidak tahu kenapa ada garis miring yang hilang selepas menulis semula

Berikut ialah kod go.php

<?php
$url=$_GET['url'];
$url=urldecode($url);
echo $url;
?>

Peraturan tulis semula adalah seperti berikut

RewriteEngine On
RewriteRule ^go/(.*)$ go.php?url= [QSA]
PHPz
PHPz

学习是最好的投资!

membalas semua(3)
巴扎黑

Rujukan Mengapa Apache mengalih keluar berbilang garis miring?
@Pekka 웃 menunjukkan bahawa berbilang / bersebelahan dalam URI tidak mematuhi standard RFC, @Pekka 웃 meneka bahawa Apache direka untuk menggabungkan berbilang / bersebelahan menjadi satu . /不符合RFC标准,@Pekka 웃 猜测Apache被设计为将多个相邻的/合并成一个。


同样,我搜索后了解到在nginx中有merge_slashes这样一项配置,用于开启或者关闭将请求URI中相邻两个或更多斜线合并成一个的功能,默认这项配置是开启的。由此可见,apache和nginx默认在处理URI中多个相邻/时行为时一致的,都遵循了RFC标准。


至于http://localhost/go.php?url=http://www.163.com/中的//没有合并成一个,而 http://localhost/go/http://www.163.com/中的//


Begitu juga, selepas mencari, saya mengetahui bahawa terdapat konfigurasi seperti merge_slashes dalam nginx, yang digunakan untuk menghidupkan atau mematikan fungsi menggabungkan dua atau lebih garis miring bersebelahan dalam URI permintaan menjadi satu. Lalai Konfigurasi ini didayakan. Dapat dilihat bahawa apache dan nginx mempunyai tingkah laku yang konsisten apabila memproses berbilang / bersebelahan dalam URI secara lalai, dan kedua-duanya mengikut piawaian RFC.


Bagi // dalam http://localhost/go.php?url=http://www.163.com/, ia tidak digabungkan menjadi satu, tetapi // dalam http://localhost/go/http://www.163.com/ digabungkan menjadi satu bukan. 🎜 🎜Saya tidak mempunyai pemahaman yang mendalam tentang piawaian RFC, jadi kenyataan di atas mungkin tidak cukup ketat Jika terdapat sebarang kesilapan, sila nyatakan. Tetapi selepas memahami tahap ini, saya merasakan bahawa ia hampir mencukupi untuk cara menukar peraturan atau kod menulis semula, sila google sendiri. 🎜
漂亮男人

http://php.net/manual/zh/function.urldecode.php

巴扎黑

Saya rasa Apache mengalih keluar // 化简成一个 / dalam laluan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!