2009-12-14 110 views
0

你好,我想有一些重定向通過.htaccess文件提出: 一些例子的.htaccess重定向

mysite.com/accepted -> mysite.com/index.php?type=accepted 
mysite.com/waiting -> mysite.com/index.php?type=waiting 
mysite.com/cancelled -> mysite.com/index.php?type=cancelled 

&

mysite.com/edit/2 - > mysite.com/admin.php?edit=2 

ETC.所有數字可能

mysite.com/login -> mysite.com/admin.php?action=login 
mysite.com/register -> mysite.com/admin.php?action=register 
mysite.com/lostpassword - > mysite.com/admin.php?action=lostpassword 
mysite.com/add - > mysite.com/add.php 

Apprectiate你的幫助;)

@edit:應該這樣做的方式,但與屏蔽的網址。

+0

你確定你想這個方向,而不是相反,改寫'請求/ accept'內部爲'型的index.php = accept' ? – Gumbo 2009-12-14 12:39:48

回答

0

如果你想自己進入這個話題,www.modrewrite.com承載了很多很棒的mod_rewrite資源和大量的例子。

1

哪個方向是重定向?通常會看到從給定的右手側到左手側的重定向,但不是相反的方向。

編輯我看你已經修復了,所以我的猜想是正確的:

即您通常會看到:

RewriteRule ^edit/([0-9]+)$ /admin.php?edit=$1 [L] 

等,尼斯友好的RESTful風格的URL映射到內部網址。

0

如果我理解你的編輯正確你想要這個

<?php 
header('Location: http://mysite.com/'.$_GET['type']); 
?> 
0

也許像下面這樣?

RewriteRule ^www.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+) /index.php?$1=$2&$3=$4 [NC] 

請注意,你將不得不解析而不是訪問$_GET

0

的URL(REQUEST_URI)由於在你的網址中沒有結構模式,它可以被用來將URL映射到了目的地,你可能需要使用一個規則爲每個組這樣的:

RewriteRule ^add$ add.php [L] 
RewriteRule ^(login|register|lostpassword)$ admin.php?action=$1 [L] 
RewriteRule ^edit/(\d+)$ admin.php?edit=$1 [L] 
RewriteRule ^(accept|waiting|canceled)$ index.php?type=$1 [L]