我的代码有问题。我想重写我的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>
如何解决此问题?