1
次私はいくつかのルールでのhtaccessファイルを持っている、と私は今.htaccess削除するRewriteRule?ホスト名
がwww.mydomain.com/?generations/anythingようなURLの一部を取り除き、別のルールを追加したい
は
(と何のMEAをwww.mydomain.com/anything
なりns他の文字)。私はそれなしで動作させることができますが、私は一致する/削除することはできません?私が試した:
1が失敗した:
RewriteRule ^\?generations/(.*)$ /$1 [L]
2に失敗しました:
RewriteCond %{QUERY_STRING} ^generations/(.*)$ RewriteRule ^generations/(.*)$ $1 [L]
3が失敗した:
RewriteCond %{QUERY_STRING} ^generations/(.*)$ RewriteRule ^([^?]*)?generations/(.*)$ $2%1 [L]
4が失敗した:
RewriteRule ^([^?]*)?generations/(.*)$ $1$2 [QSA,L]
誰かが実際のルールを作成し、上記の3回目の試みがうまくいかない理由を説明することはできますか?あなたは3であり得ているが、クエリ文字列がするRewriteRuleの試合中に含まれていません...
最初のコードブロックについて説明してください。^$は何をするのですか?あなたの2番目のブロックでは、パターンと置換文字列が逆になっていますか?クエリ文字列が別々に一致しているので、ちょうどmydomain.com/のように – TSG
最初のコードブロック、^ $はちょうど、空の文字列に一致すると言います。あなたは、人々が実際にあなたがそれを他の方法でラウンドを行う必要があり、その後mydomain.com/?generations/anything取得するmydomain.com/anythingを訪問したい場合には、第2には、ポイントが、あります。そう、あなたがそれをやっていたやり方を逆転させました。 – SuperDuperApps
しかし、私はURLから「?世代/」を削除したかったです。それはあなたの答えが逆転していることを意味しますか? – TSG