2017-06-06 75 views
2

直接指向這一點。快捷方式URL重定向

我有這個網址:http://example.com/?open=encyclopedia&letter=s&term=storm,我希望此快捷網址 - http://example.com/storm - 重定向到一個URL:http://example.com/?open=encyclopedia&letter=s&term=storm

我有大約1.000百科全書方面,我想這重定向爲輸入的每個學期的工作。例如:如果訪問者進入http://example.com/Storm自動重定向到這裏的頁面:http://example.com/?open=encyclopedia&letter=s&term=stormhttp://example.com/Dried_Planthttp://example.com/?open=encyclopedia&letter=d&term=dried+plant

我更喜歡一些htaccess的解決方案,這一點,如果可能的話。 如果沒有,給你可以給。 我沒有這方面的示例代碼,因爲我不知道從哪裏開始。

回答

2

@Croises答案是好的,如果你的鏈接看起來像下面

mysite.com/?open=encyclopedia &信= S &術語= /風暴

REQUEST_URI是增加一個尾隨斜線。您的鏈接沒有一個:

mysite.com/?open=encyclopedia &信= S &項=風暴

我認爲這是你在找什麼

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} .(.+)$ 

RewriteRule ^(.) ?open=encyclopedia&letter=$1&letter=%1 [NC,L] 
3

我建議你將它全部重定向到你的頁面encyclopedia。然後用PHP的考慮,你可以用它做什麼(如找到的第一個字母或更改與_或其他)

您可以使用:

RewriteEngine on 
# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^encyclopedia?term=%{REQUEST_URI} [NE,L] 

有了正確的第一個字母(letter=),更改最後本着:

RewriteRule ^(.) encyclopedia?letter=$1&term=%{REQUEST_URI} [NE,L] 
+0

如何使用mysite.com/?open=encyclopedia&letter=s&term=storm? – De1an

+0

將頁面中的鏈接更改爲「http:// example.com/storm」。 htaccess不能爲你做到這一點。 – Croises

+0

非常好!最深謝謝。 – De1an