从web url中删除字符


Remove Characters from web url

我有php web脚本,我们所有的用户帐户都使用它。我们每个拥有帐户的用户都有一个可以使用的复制网站。脚本自动生成他们复制的网站url,如下所示。

http://domain.com/?username

username是他们使用的帐户用户名。我想知道是否有可能从url中删除问号,这样他们就可以用类似的url访问他们的复制网站。

http://domain.com/username

我只想简单地删除网址中的问号。这可能吗?最好的方法是什么?我可以用.htaccess做这样的事情吗?

编辑:

我试着把它添加到我的.htaccess文件中,但当我使用类似的url时没有http://domain.com/?username它像我想的那样正确地删除了这个问题,但页面已经损坏了。没有一个图像显示正确,也没有一个html显示正确。

RewriteEngine On
# This is to physically change what's in the browser's address bar using a client redirect
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}' /'?([^' ]+)
RewriteRule ^$ /%1? [R=301,L]
# This is to internally rewrite on the server side
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/?(.+)$ /?$1 [L]

谢谢。

您可以使用php的str_replace函数:

<?php
    $url = "http://domain.com/?username";
    $new_url = str_replace("?", "", $url);
?>

这将用url中的任何内容替换?的所有实例。

您可以在htaccess url重写规则的帮助下完成此操作。使用以下代码来解决您的目的。

RewriteEngine on #turn on rewrite engine
RewriteRule /username/(.*)/username ?username=$1