我有一个 php 服务器,我想重写传入的 url。由于传入请求是发布请求,我还希望发布的数据在新的网址上传输。
我已经成功地使用以下重写规则重定向网址:
RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,L]
or
RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,R=301]
我还设法使用以下重写规则保留发布数据:
RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [P]
问题是我不能同时两者。我究竟做错了什么?有没有办法重定向 url 并保留发布数据?
您的问题可能是您进行重定向而不是重写。重定向会更改人们在浏览器中看到的 URL。重写仅更改 PHP 应用程序看到的 URL。后者通常是您想要的。在后一种情况下,POST 变量会自动保留。
为了重写而不是重定向,请使用本地路径而不是 URL:
RewriteRule ^test/(.)$ index.php?data=$1 [NC,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)