我正在尝试向htaccess添加重写规则,覆盖url结构 来自:
example.com?user=laura&baked=cakes
为:
example.com/user/laura/baked/cakes
虽然我设法做到这一点,我发现它没有在网址中正确显示空格:即。 baked/Lovely Chocolate Cake/
显示为
baked/Lovely%20Chocolate%20Cake/
。
我试图实现的是覆盖空白(%20)并使其成为 - 或+并将其全部变为小写。
到目前为止,我在阅读了SO之后设法得到了这段代码:
RewriteRule ^/user/([a-z]+)/baked/([a-z\ .*A-Zx0-9-_]+)$ cakesmade.php?id=$1&baked=$2
欢迎您提出意见。 htaccess语言似乎有点难以解释。
答案 0 :(得分:0)
你可以做到这一点。在.htaccess
(实际RewriteRule
之前):
RewriteRule ^/user/.*[A-Z\ ] /linkChange.php?l=%{REQUEST_URI} [L]
和linkChange.php
:
<?
$link = $_GET['l'];
$newlink = strtr($link," ABCDEFGHIJKLMNOPQRSTUVWXYZ","-abcdefghijklmnopqrstuvwxyz");
header("Location: http://www.example.com". $newlink,TRUE,301); exit;
?>