2015-05-26 39 views
0

目前我已經顯示出其正確內容的動態頁面時,我有URLhtaccess的不是重定向到我的動態過濾頁面

m.mysite.com/bakery.php?yum=5 

在頁面的上方通過一個可變yum=5對其進行過濾,並顯示內容蛋糕(又名yum=6是婚禮蛋糕)

,但我想上面的m.mysite.com/bakery.php?yum=5顯示爲m.mysite.com/cakes.php

我已經做了一些htaccess的測試,我可以告訴你以下

我使用頁面cakes.phpbread.php來確定我的語法是正確的。上述

Redirect 301 /cakes.php /bread.php 

工作沒有問題又名你進入cakes.php到URL中左右逢源,它需要你非常快bread.php

Redirect 301 /bread.php /cakes.php 

上述作品沒有問題,又名你進入bread.php兩種方式進入網址並帶你非常快cakes.php

Redirect 301 /bakery.php?yum=5 http://m.mysite.com/cakes.php 

上面顯示/bakery.php?yum=5 p當要求年齡要求時都沒有做任何再導向

Redirect 301 cakes.php /bakery.php?yum=5 

上述cakes.php頁面顯示時cakes.php請求

誰能告訴我,爲什麼當請求cakes.php我不是/bakery.php?yum=5頁面顯示的/bakery.php?yum=5

Redirect 301 /bakery.php?yum=5 cakes.php 
以上

內容顯示/bakery.php?yum=5頁面時cakes.php是要求

我想知道爲什麼當cakes.php被要求時,我沒有顯示/bakery.php?yum=5的內容,也就是我想轉到頁面cakes.php並查看它的內容。

+0

請發佈您的完整htaccess文件 – Ejaz

+0

您不能使用'Redirect'來重定向URL與查詢字符串。它不匹配。 –

+0

谷歌是你的朋友 - 不要害怕:https://wiki.apache.org/httpd/RewriteQueryString – swatkins

回答

0

如果你想重定向一個這樣的URL與查詢字符串,你可以使用重寫。

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^yum=5$ 
RewriteRule ^bakery\.php$ /cakes.php? [R=301,L] 
+0

http://goo.gl/2lyUTq <<<它給了我一個404 RewriteEngine在 RewriteCond%{QUERY_STRING }^fabrictype = 27 $ RewriteRule^fabrictypes \ .php $ /velvets.php? [R = 301,L] 這個人是沒有重定向 http://goo.gl/O15UPB 可以它是由於在網站被m.site.com又名specifially移動 –

+0

它給404不因爲該文件不是真的存在。如果我只輸入'http://m.londonfabriccompany。com/velvets.php「,它給出了404。實際的文件也必須存在於移動站點上,否則你將不得不使用完整的URL到主域。在規則中。 'RewriteRule^fabrictypes \ .php $ http://domain.com/velvets.php? [R = 301,L]' –

+0

非常感謝您的耐心等待。 和原諒我的無知。 velvets.php不是一個真正的頁面。我相信 RewriteCond%{QUERY_STRING}^fabrictype = 27 $ RewriteRule^fabrictypes \ .php $ http://m.londonfabriccompany.com/velvets.php? [R = 301,L] 當用戶進入fabrictypes頁面並按照它的形式進行過濾時,則該頁面會被重命名。 我試過以下提到的只是爲了得到一個404 'code' RewriteRule^fabrictypes \ .php $ http://m.londonfabriccompany.com/velvets.php? [R = 301,L] –