2012-01-15 86 views
0

我們的客戶橫幅廣告今天發佈了錯誤的網址已被存入。.htaccess重定向並添加變量

所以我儘量重定向

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

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

我tryed把一個的.htaccess中的文件夾輪,其包含以下內容:

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

但它不」工作。任何人有一個想法,我做錯了什麼?

編輯

我發現了一個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] 

順便說一句,朗也不是一成不變的,它可以連接或去。

回答

1

嘗試將此添加到您的網站根目錄中的.htaccess。查詢字符串參數默認進行。

RewriteEngine on 
RewriteBase/

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

是前面添加一個額外的RewriteCond做到這一點,但是這條規則的需求進入父文件夾到車輪。還可以刪除前導/和\,例如「wheels/index.html」(1)這是在perdir上下文中,(2)替換字符串不是正則表達式,所以「。」不需要轉義 – TerryE 2012-01-15 18:08:31

+0

@TerryE你對#2是正確的,因此進行了調整。也同意這應該放在根文件夾中。 – 2012-01-15 18:12:14

0

使用此在您的ROOT的.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

您還可以通過在現有的重寫規則

RewriteCond $0 !^wheels/