我试图在.htaccess文件中写“重写规则”
我的服务器上的php文件名为go.php
此文件用于转发/重定向到提供的网址/链接
例如:mydomian.com/go.php?url = http://www.google.com/
它很完美但是 我想让它像mydomain.com /?http://www.google.com/
我的htaccess代码
RewriteRule ^/(.*)$ go.php?url=$1 [L,QSA]
这个没用,然后我试了
RewriteRule ^/?(.*)$ go.php?url=$1 [L]
答案 0 :(得分:1)
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} .+
RewriteRule ^/?$ go.php?url=%{QUERY_STRING} [L]
QUERY_STRING
会自动转发到新的URI。
答案 1 :(得分:0)
第二个问题是问号是一个正则表达式特殊字符,实际上意味着“如果它存在”。所以第二个例子不起作用,因为它说URI 可能以斜杠开头。
这是未经测试的,但我认为它应该像转义问号一样简单,以便将其视为一个字符。像这样:
RewriteRule ^/\?(.*)$ go.php?url=$1 [L]
请注意问号前面的额外斜杠,它将其标识为字符串而不是特殊字符。