我们的托管服务允许我们通过在服务器的IP之后附加波浪号后的帐户名的前八个字母来访问特定帐户。例如:
123.456.123.456/~examples
这也意味着我们可以通过以下网址访问该网站:
example.com/~examples
我们有一些基本的.htaccess代码可以将其重写为:
example.com/
我们想要做的是相同的,但对于整个网站的所有网址,使用.htaccess中的单个规则。例如:
example.com/~examples/about-us
重定向至:
example.com/about-us
非常感谢任何帮助。
答案 0 :(得分:2)
将此规则放在根目录中.htaccess:
RewriteEngine On
RewriteCond %{THE_REQUEST} /~\w+/(\S+)
RewriteRule ^ /%1 [R=302,L,NE]
您必须使用%{THE_REQUEST}
变量来匹配~user
,否则Apache会从~user
剥离REQUEST_URI
。 THE_REQUEST
变量表示Apache从您的浏览器收到的原始请求,并且在执行某些重写规则后不会被覆盖。此变量的示例值为GET /~user//index.php?id=123 HTTP/1.1
答案 1 :(得分:1)
答案 2 :(得分:0)
也许是这样的
RewriteRule ^(.*)$ /~example/$1 [L,QSA]
答案 3 :(得分:0)
这应该有效:
RewriteRule ^~example/?(.*)$ $1 [L,QSA]
我发现这是Regex
s:http://www.regular-expressions.info/quickstart.html