2012-01-15 7 views
0

私たちのクライアントのバナーキャンプインは今日間違ったURLが寄託されています。.htaccessリダイレクトと変数を追加

ので、私は次のものが含まれているフォルダのホイールで.htaccessファイルを置くためにしようと試み

website.com/wheels/index.html?lang=en&sel=540 

website.com/wheels/?lang=en&sel=540 

をリダイレクトしよう:

RewriteEngine on 
RewriteRule ^([^/]+)/([^/]+)/?$ index.html?lang=$1&sel=$2 

しかし、それはdoesnの仕事。誰もがアイデアを持っている、私は間違って何をしているの?

EDIT

私はROOTの既存の.htaccessを見つけました。これは、コードを次のものが含まれます。

RewriteEngine On 
RewriteBase/
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L] 
RewriteRule ^typo3$ typo3/index_re.php [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* /index.php [L] 

私はコードfollingのコードを追加した場合は何も起こりません、:

RewriteCond %{QUERY_STRING} ^lang=en&sel=[0-9]+(&|$) [NC] 
RewriteRule ^(wheels)/$ /$1/index.html [R=301,L,NC] 

ところで、langは静的ではありません、それは途中であるか、またはデできます。

答えて

1

これをあなたのウェブサイトのルートディレクトリにある.htaccessに追加してみてください。クエリーストリングのパラメータは、デフォルトで実行されます。

RewriteEngine on 
RewriteBase/

RewriteRule ^wheels/$ /wheels/index.html [R=301,L,NC] 
+0

はいの前に余分のRewriteCondを追加することによってこれを行うことができますが、このルールの必要性車輪の親フォルダに移動します。また、先頭の/と\を削除します。 "wheels/index.html"(1)これはperdirコンテキストにあり、(2)置換文字列は正規表現ではないため、 "。"逃げる必要はありません – TerryE

+0

@テリーあなたは#2について正しいので、調整しました。また、これがルートフォルダに移動することに同意します。 –

0

ルートの.htaccessでの使用にこれを:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteCond %{QUERY_STRING} ^lang=en&sel=[0-9]+(&|$) [NC] 
RewriteRule ^(wheels)/$ /$1/index.html [R=301,L,NC] 
0

ます。また、既存のRewriteRule

RewriteCond $0 !^wheels/ 
関連する問題