如何在URL重写中使用$ _POST?

时间:2019-05-22 20:04:53

标签: php regex apache

我的代码有问题。我想重写我的URL(将%20更改为连字符)。

所以我在.htaccess中写了这个:

<IfModule mod_rewrite.c>
 Options +FollowSymLinks
 RewriteBase /
 RewriteEngine On

 RewriteRule ^([^\s%20]+)(?:\s|%20)+([^\s%20]+)((?:\s|%20)+.*)$ $1-$2$3 
 [N,DPI]
 RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$  $1-$2 [L,R=301,DPI]

 RewriteRule ^admin/ bootstrap.php?app=Backend [QSA,L]

 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteRule ^(.*)$ index.php?app=Frontend [QSA,L]
</IfModule>

工作正常:

我的URL从以下位置更改:/ news / The%20History%20of%20Cryptocurrency_3                     到:/ news / The-History-of-Cryptocurrency_3

但由于某种原因我无法理解:提交表单时,我丢失了$ _POST变量...

==>删除重写规则时,代码正在运行:我可以对新闻发表评论并获取$ _POST变量。 但是,如果我遵循这些规则,则$ _POST显示:array(0){} ....

这是表格:

<form method="post" action="/news/<?= $news['title'] ?>_<?= $news['id'] ?>" class="needs-validation" novalidate>

如何解决此问题?

0 个答案:

没有答案