如何创建一个 .htaccess 文件,以便我可以输入一个干净的 URL,但它处理 get 请求



我正在尝试创建一个更改的.htaccess文件

此网址 : http://www.mysite.co.uk/~username/directory1/directory2/directory3/?format=xml

对此: http://www.mysite.co.uk/~username/directory1/director2y/directory3/xml

例如,您将在浏览器中输入第二个 URL,但浏览器将像处理第一个 URL 一样处理它。

我已经研究了.htaccess文件和重写规则和条件,老实说,发现它非常令人困惑。

我目前尝试用于执行此操作的代码是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^format=([A-Za-z0-9-]+)$
RewriteRule ^directory3/index.php http://www.mysite.co.uk/~username/directory1/directory2/directory3/%1  

任何帮助将不胜感激

尝试:

RewriteCond %{THE_REQUEST}  /+directory3/index.php?format=([A-Za-z0-9-]+)$
RewriteRule ^ /~username/directory1/directory2/directory3/%1 [L,R=301]

然后重写回来

RewriteRule directory3/(.+)$ directory3/index.php?format=$1 [L]