从网址中删除字符

时间:2013-08-22 18:00:26

标签: php .htaccess url

我有php web脚本,我们用于我们拥有的所有用户帐户。我们拥有帐户的每个用户都有一个可以使用的复制网站。该脚本会自动生成这样的复制网站URL。

http://domain.com/?username

用户名是他们使用的帐户用户名。我想知道是否可以从网址中删除问号,以便他们可以使用相应的网址访问其复制的网站。

http://domain.com/username

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

编辑:

我尝试将此添加到我的.htaccess文件中,但是当我转到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]

感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用php的str_replace功能:

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

这会替换?中所有url的所有实例。

答案 1 :(得分:0)

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

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