2012-11-02 150 views
2

URL變化的.htaccess重寫規則我有.htaccess文件:沒有在瀏覽器

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

RewriteCond %{HTTP_HOST} ^somedomain.com [NC] 
RewriteRule ^(.*)$ http://www.somedomain.com/$1 [R=301,NC] 

RewriteRule ^r/(.*)$ index.php?rid=$1 [NC] 

但是最後一個條件執行重定向瀏覽器時,我請求URL像www.somedomain.com/r/123,讓我看看URL像www.somedomain.com/index.php?rid=123。但我需要調用這個腳本,而不需要更改URL。

怎麼了?

回答

3

您使用的R=301嘗試使用L就像下面:

RewriteCond %{HTTP_HOST} ^somedomain.com [L] 
RewriteRule ^(.*)$ http://www.somedomain.com/$1 [L] 

RewriteRule ^r/(.*)$ index.php?rid=$1 [L] 
+0

什麼'L'意味着在這種情況下? –

+1

'L' =最後一條規則 'N' =下一個 'QAS' =追加查詢字符串 的r [=代碼]'=重定向到新的URL 'NC' =不區分大小寫 'NE' =不轉義輸出 'G' =去過(不再存在) 'PT' =通過 'P' =通過 還有更多的露面,但我最常用這些。 –

+0

好的。現在可以工作,但是現在絕對路徑是2級/r/123並且在第一級執行腳本index.php,並且例如對於圖像的HTML路徑有問題。我該如何解決它? –

相關問題