仅在url中用短划线( - )替换空格

时间:2013-11-26 11:53:10

标签: php html .htaccess url-rewriting

是否可以将网址中的空格更改为短划线( - ),而无需在代码中更改它?

该网址用于标识网页,因此无法更改网址,因为将无法找到该网页,因此{1}}在此解决方案中无法使用。

使用str_replace两次,一次将空格更改为破折号并在页面加载器上将其更改回空格也不起作用,某些页面在页面名称中已经有一个破折号:)< / p>

我希望这可以通过htaccess实现,但我不知道如何。 是否可以使用htacces在浏览器中显示不同的URL,然后显示实际的URL?

例如:str_replace 应该是www.example.com/pages/hello%20world可见,但www.example.com/pages/hello-world变量仍应为GET

这是我当前的.htaccess文件

hello%20world

其中一个产品的示例网址= http://www.example.nl/software/category/details/this%20is%20a%20product-name

1 个答案:

答案 0 :(得分:2)

您可以在DOCUMENT_ROOT/.htaccess文件中尝试以下内容:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+path/([^%20]*)%20([^\s]*) [NC]
RewriteRule ^ /path/%1-%2 [L,NE,R]

RewriteRule "^(path)/([^-]*)-+(.*)$" "/$1/$2 $3" [L,NE,NC]