我想知道如何使用mod_rewrite重寫下面的URL?有沒有一個在線教程,解釋mod_rewrite傻瓜?Mod重寫2部分問題
如何重寫此URL。
http://www.example.com/sitemap.php
到
http://www.example.com/sitemap.xml
我想知道如何使用mod_rewrite重寫下面的URL?有沒有一個在線教程,解釋mod_rewrite傻瓜?Mod重寫2部分問題
如何重寫此URL。
http://www.example.com/sitemap.php
到
http://www.example.com/sitemap.xml
我建議:
RewriteRule ^/sitemap.php$ /sitemap.xml
至於教程,你嘗試過官方Apache mod_rewrite Introduction? 接下來,在URL Rewriting Guide和Advanced URL Rewriting Guide中有很多有用的例子......它們可能很複雜,但它確實有許多常見的重寫任務的例子。
RewriteRule沒有工作:(謝謝教程,雖然 – HELP 2010-12-16 06:34:44
對此有幾個選項,具體取決於您希望如何工作。
最簡單的方法來重定向一個文件到另一個是簡單地使用Redirect
指令:
Redirect /sitemap.php http://www.example.com/sitemap.xml
默認將做302重定向,但你可以通過添加狀態代碼將其更改爲301作爲第一個參數,即:
Redirect 301 /sitemap.php http://www.example.com/sitemap.xml
在這兩種情況下,這將導致往返返回給瀏覽器,這樣地址欄會改變以顯示新的文件名sitemap.xml
。如果你不希望出現這種情況,你可以使用RewriteRule
指令:
RewriteRule ^sitemap.php$ /sitemap.xml [L]
注意,這是你將如何寫從所謂的「按目錄中,」這只是意味着該規則是規則從.htaccess
文件或<Directory>
塊中寫入。如果您是從主配置中編寫它,那麼您需要一個前導斜槓(即^/sitemap.php$
)來表明規則要與文檔根匹配。
這不起作用 – HELP 2010-12-16 08:46:00
Dupe of http://stackoverflow.com/q/4457835/52721。 @sleep - 你剛剛問過這個問題。繼續努力吧,我們不會在這裏遇到麻煩。 – Robert 2010-12-16 08:42:03
@Robert:我投票結束,但這篇文章自那時以來一直受到關注,所以我將其標記爲mod評論,並建議將這兩個問題合併。 – AgentConundrum 2010-12-16 09:27:04
夠公平的。我認爲,合併是真的要走的路。 – Robert 2010-12-16 09:28:09