我想使用mod rewrite将以下动态网址重定向到h
查询字符串:
https://eu1.domain.com/~username/test.php?h=String_112016
到没有test.php
部分的以下网址:
https://eu1.domain.com/~username/String_112016
我在我的htaccess文件中尝试了以下内容,但它正在获得404:
RewriteEngine On
RewriteRule ^\~username/([^/]*)$ /~username/test.php?h=$1 [L]
我在htaccess文件中没有任何其他规则。
答案 0 :(得分:0)
从您编写的代码中,我假设您想要的实际上不是重定向。如果我错了,请纠正我,但你想要的是当用户请求/ ~username / String_112016时,你想要渲染test.php页面并将“String_112016”作为标记为h的参数传递。
你真的很亲密......试试这个:
RewriteEngine On
RewriteRule ^/?~username/([^/]*)$ /~username/test.php?h=$1 [L]
重写规则中第一个匹配的字符应该是正斜杠,而不是反斜杠。这个正斜杠实际上总是存在于请求中,但我认为最佳做法是将其视为可选,因为从技术上讲,您可能会得到一个没有错误的(格式错误的)请求。 /后面的问号使/可选。
答案 1 :(得分:0)
RewriteEngine On
RewriteBase /
RewriteRule ^~username/test.php\?h=(.*)$ /~username/$1 [L]