如何从具有空格的数据库中调用变量

How to call a variable from database having whitespace

我正在使用 php $_GET 函数从数据库调用参数。这些参数通常在 url.

范围内变化

例如http://localhost:8080/series/dynamics/admin/cleanURL/Apple,其中 Apple 是来自数据库的变量。

只要 GET 函数不遇到 space,这就可以正常工作,但是在现实生活中,我会有一些变量,例如 "Green Apple" "Red Apple" 等。 URL 会喜欢,

http://localhost:8080/series/dynamics/admin/cleanURL/Green%20Apple 在这种情况下,我收到 404 The requested URL was not found on this server 错误。

我想要实现的是能够将白色space 转换为连字符或+。我已经通过 strreplaceurlencode() 完成了,但是问题是我仍然无法摆脱 404 错误。

如果它与 htaccess 有任何关系,下面是我的代码

 Options +MultiViews 
 Rewriteengine on
 RewriteBase /series/dynamics/admin/cleanURL/

 RewriteCond %{REQUEST_FILENAME} !-f [OR]
 RewriteCond %{REQUEST_FILENAME} !-d

 RewriteCond %{THE_REQUEST} /series/dynamics/admin/cleanURL/(\S*)\s [NC]

 Rewriterule ^(\w+)/?$ index.php?product= [L,QSA]
 RewriteRule ^series/dynamics/admin/cleanURL/(.*)$ / [L,NC,R]

 #rewrite group and subgroup e.g. http://.../value1/value2/
 Rewriterule ^([a-zA-Z0-9]+(.*)+)/([^/]+(.*)+)/?$ index.php?product=&subgroup= [L,NC,QSA]

一个更好的问题是您为什么使用具有空格的文件夹结构?我只是将文件的名称更改为 Green_Apple 之类的名称,您的问题就解决了。这是更好的做法。