[英]Url rewrite on LAMP server with post data
我试图在我的LAMP服务器上设置URL重写规则集,并且所有GET请求均按预期方式工作,但是一旦我提交了已发布的表单,所有后发布的数据就会消失。 如果我将表单更改为GET,那么我将得到所有内容(在URL长度的限制内)。
为了保持干净的URL,我真的更希望使用URL重写选项,而不是冗长的URL ;-)
我的.htaccess文件如下所示(由Google搜索结果制成):
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^admin/module/([A-Za-z0-9-_]+)?$ admin.php?page=module&mod=$1 [NC,QSA,L] # Process admin requests
RewriteRule ^admin/([A-Za-z0-9-_]+)?$ admin.php?page=$1 [NC,QSA,L] # Process admin requests
RewriteRule ^admin/?$ admin.php [NC,QSA,L] # Process admin requests
RewriteRule ^/?$ index.php [NC,QSA,L] # Handle all requests
我试图通过删除QSA
和/或没有运气的NC
部分来更改[NC,QSA,L]
部分
我的HTML表单标签如下所示:
<form action="/admin/setup" enctype="text/plain" method="post" >
我试图用Google搜索该问题,但没有结果……无论如何都没有任何意义的结果,因此,如果您需要我提供的更多信息,请告诉我。
URL重写对我来说仍然是新事物,所以请给您一些解释答案
提前致谢 :-)
----编辑2019-07-12 ----
Linux版本是:
Linux X-gene 4.9.0-9-arm64#1 SMP Debian 4.9.168-1(2019-04-12)aarch64 GNU / Linux
PHP版本是:
PHP 7.0.33-0 + deb9u3(cli)(内置:2019年3月8日10:01:24)(NTS)
版权所有(c)1997-2017 The PHP Group
Zend Engine v3.0.0,版权所有(c)1998-2017 Zend Technologies with Zend OPcache v7.0.33-0 + deb9u3,版权所有(c)1999-2017,Zend Technologies
Apache版本是:
服务器版本:Apache / 2.4.25(Debian)
服务器内置:2019-04-02T19:05:13
...使用以下已加载的模块(PHPinfo):
芯mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias中mod_auth_basic mod_authn_core mod_authn_file模块mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate模块mod_dir mod_env mod_filter util_ldap mod_mime prefork的mod_negotiation模块mod_php7 mod_proxy的mod_proxy_connect mod_proxy_html mod_proxy_http mod_reqtimeout mod_rewrite的 mod_setenvif mod_socache_shmcb mod_ssl的mod_status的mod_xml2enc
让我承认要用[face_palm] + DOH回答这个问题!
我确实重写了代码以不使用url重写,但是无论如何都得到了相同的结果。 然后我查看了from的enctype,发现默认的enctype应该是
应用程序/ x-www-form-urlencoded
而不是
文字/纯文字
就像在问题中一样,当我插入新的enctype时就没有问题。
我不会将代码改回以使用url重写,但是再次……让我承认一个愚蠢的错误,并感谢所有可能一直在努力寻找解决方案的人
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.