我正在使用MySQL查询来显示数据库记录,而在使用mod_rewrite之前,我的网址结构是-http://127.0.0.1/medical-word-2.php?query=Choreic%20Abasia
在.htaccess中使用mod_rewrite命令后
RewriteEngine on
#redirect all old URLs to the new rewritten URL
RewriteCond %{THE_REQUEST} ^GET\ /+medical-word-2\.php\?query=([^&\ ]+)
RewriteRule ^ /%1? [R=302,L]
#rewrite folder path
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ medical-word-2.php?query=$1 [QSA,L]
网址的结构为-http://127.0.0.1/Choreic%2520Abasia
但是现在我想要这个网址结构– http://127.0.0.1/choreic-abasia
我想从网址中以“-”删除“%2520”。有什么办法可以实现这种URL结构?
答案 0 :(得分:0)
使用preg_replace("/%2520|\+/gm", "-", urlstring);
%2520
从字面上匹配%2520
|
的意思是“或”
\+
匹配+
所以+或%2520被连字符代替