如何仅将URL中的%20更改为hypen(-)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何仅将URL中的%20更改为hypen(-)相关的知识,希望对你有一定的参考价值。
您好,我试图使我的网址尽可能干净,但是遇到了问题...
当我的.htaccess
文件尝试读取我的get请求并且有一个空格(%20
)时,它给出了内部错误。因此,我打算将%20
更改为-
,然后您将得到如下内容:
site.com/my-organisation/this-is-a-test
代替此:
site.com/my%20organisation/this%20is%20a%20test
最后,我成功地从%20
替换为-
,该文件无法识别GET,因为在数据库中它是用空格写入的。
我只希望它在URL中更干净而不更改get请求。
如果有人想帮助我,我将不胜感激!
〜我的.htaccess文件
RewriteEngine on
# clean up file extensions .php only
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
# clean test url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php !-f
RewriteRule ^organisation/make-test/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+) organisation/make-test.php?organisation=$1&test=$2 [QSA]
# clean organisation url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php !-f
RewriteRule ^organisation/([0-9a-zA-Z_-]+) organisation/index.php?organisation=$1 [QSA,L]
如果需要更多信息,请发表评论:)
据我所知您无法使用重写更改此设置。
我唯一可以建议的是使用urlencode()
/ urldecode()
而不是rawurlencode()
/ rawurldecode()
。这意味着您将看到site.com/my-organisation/this+is+a+test
而不是site.com/my%20organisation/this%20is%20a%20test
但是,您可以使用类似这样的函数,然后自行解码$_GET[]
变量。
function cleanurldecode($getVar)
{
return str_replace('-',' ',$getVar);
}
以上是关于如何仅将URL中的%20更改为hypen(-)的主要内容,如果未能解决你的问题,请参考以下文章
仅将月份从'jan'更改为1,'feb'更改为2,'mar'更改为3 ...'dec'更改为12 [重复]
是否可以仅将通用应用程序上传到应用商店后才能将其更改为iphone?