我有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