2014-09-03 25 views
0

以下是我的.htaccess文件。我試圖將頁面查詢請求重定向到/ page /,並在後臺使/頁面/請求祕密加載index.php?頁面。嘗試將查詢重定向到.htaccess中的符號目錄時得到404

當我嘗試加載http://url.url/page/id我收到404錯誤。我在我的服務器上測試過mod_rewrite,並且它可以正常工作,所以我確定問題出在我的代碼上。頁面名稱可以包含a-z,A-Z,0-9,_和 -

任何人都可以提供一個如何解決這個問題的例子嗎?

RewriteEngine On 
#Prevents rewriting for directories that exist 
RewriteCond %{SCRIPT_FILENAME} !-d 
#Prevents rewriting for files that exist 
RewriteCond %{SCRIPT_FILENAME} !-f 
#Secretly loads index.php?page=* in the background for /page/* requests 
RewriteCond ^page/(.*)$ 
RewriteRule ./index.php?page=$1 
#Redirects all ?page=* requests to /page/* 
RewriteCond ./index.php?page=(.*)$ 
RewriteRule /page/$1 [R=301,NC,L] 
RewriteCond ./?page=(.*)$ 
RewriteRule /page/$1 [R=301,NC,L] 

回答

0

您的代碼中有許多錯誤。 ?通過這個代碼替換這一切:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/+index\.php\?page=([\w-]+) [NC] 
RewriteRule^/%1? [R=302,L,NE] 

RewriteCond %{THE_REQUEST} \s/+index\.php\?([\w-]+) [NC] 
RewriteRule^/%1? [R=302,L,NE] 

RewriteRule ^([\w-]+)/?$ index.php?page=$1 [L,QSA] 
+0

謝謝,但這似乎僅重定向HTTP://domain.extension/index.php查詢重定向到domain.extension /查詢 - 它的作品!但是我需要http://domain.extension/?page = *和index.php?page = *轉發到/ page/*,並且/ page/*在後臺加載?page = *。 – Jamus 2014-09-03 08:34:26

+0

好吧現在嘗試更新代碼 – anubhava 2014-09-03 08:36:12

相關問題