0

.htacess 我用过的规则——

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ profile.php?user=$1 [L]
RewriteRule  ^(.*)$ profile.php?user=$1 [QSA,NE]

正确的例子——

http://mydomain.com/http://fatalweb.com/articles/8/definitions-for-htaccess-regex-character

传递给 $1 的值是 -http://fatalweb.com/articles/8/definitions-for-htaccess-regex-character

http://mydomain.com/https://www.google.com/search?q=_get&ie=utf-8&oe=utf-8&aq=t

传递给 $1 的值是 -https:/www.google.com/search

我如何确保将整个 urlhttps://www.google.com/search?q=_get&ie=utf-8&oe=utf-8&aq=t以及所有查询参数传递给 $1

4

1 回答 1

0

在你的问题中,是https:/www.google.com/search吗?https:/缺失后有一个斜线。

在您打算使用空文件处理程序之前,您需要指定至少一个规则。不知道为什么,但这就是它的工作方式。检查一下您的用例:

RewriteEngine On
RewriteRule ^([^/]*)\.dummy$ ./?dummy=$1&%{QUERY_STRING} [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ ./%{QUERY_STRING}

这条线RewriteRule ^([^/]*)\.dummy$ ./?dummy=$1&%{QUERY_STRING} [L]是假的。检查并查看这是否适合您!:)

于 2012-09-01T06:37:54.623 回答