我正在编写一个网站,并在URL中包含关键词,如下所示:
?s=2010%20Federal%20Spending&id=115
Run Code Online (Sandbox Code Playgroud)
标题为"2010年联邦支出"的部分不用于导航; 我的网站导航完全忽略了它.我的网站只注意'id',而不是's'.再次,标题是出于SEO的原因.
是否有PHP函数来清理URL的这一部分?例如,将'%20'替换为' - '或类似的东西?
你想在你的.htaccess中查看mod_rewrite
在.htaccess中添加重写规则很简单.首先,通过将此行添加到.htaccess来激活mod_rewrite:
RewriteEngine on
RewriteBase /
Run Code Online (Sandbox Code Playgroud)
然后添加规则以重定向您的网页:
RewriteRule ^([0-9]+)/([^/]+)$ /yourpage\.php?id=$1&s=$2
Run Code Online (Sandbox Code Playgroud)
这将允许您构建您的网址,如下所示:
yoursite.com/115/2010-federal-spending
Run Code Online (Sandbox Code Playgroud)
然后,在yourpage.php上:
echo $_GET['id']; // will equal 115 from the above example
echo $_GET['s']; // will equal 2010-federal-spending from the above example
Run Code Online (Sandbox Code Playgroud)