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

https://www.google.com/search?q=_get&ie=utf-8&oe=utf-8&aq=tすべてのクエリ パラメータとともにURL 全体が $1 に渡されるようにするにはどうすればよいですか

4

1 に答える 1

0

あなたの質問では、そうhttps:/www.google.com/searchですか?の後にスラッシュが 1 つありhttps:/ません。

空のファイル ハンドラーを使用する前に、少なくとも 1 つのルールを指定する必要があります。理由はわかりませんが、そのように機能しています。あなたのユースケースのためにこれをチェックしてください:

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 に答える