使用发布数据在LAMP服务器上重写网址

时间:2019-07-12 20:20:40

标签: php html apache url-rewriting lamp

我正在尝试在我的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

我试图通过删除[NC,QSA,L]和/或QSA部分来改变NC部分,但是没有运气

我的HTML表单标签如下:

<form action="/admin/setup" enctype="text/plain" method="post" >

我试图用谷歌搜索问题,没有结果……没有任何意义的结果,因此,如果您需要我提供更多信息,请告诉我。

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   技术

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

1 个答案:

答案 0 :(得分:0)

允许我承认以[face_palm] + DOH回答这个问题!

我确实重写了代码以不使用url重写,但是无论如何还是得到了相同的结果。然后我查看了from的enctype,发现默认的enctype应该是

  

application / x-www-form-urlencoded

  

文本/纯文本

就像在问题中一样,当我插入新的enctype时就没有问题。

我不会将代码改回以使用url重写,但是...再次允许我承认一个愚蠢的错误,并感谢所有可能一直在努力寻找解决方案的人