2009-10-09 53 views

回答

0

您可以使用mod_aliasmod_rewrite進行重定向。 mod_rewrite可以處理正則表達式,而mod_alias可以處理正則表達式和路徑前綴。

下面是當你想重寫一些例子/foo/…/bar/…

# mod_alias 
# path prefix 
Redirect 301 /foo /bar 
# regular expression 
RedirectMatch 301 ^/foo/(.*) /bar/$1 

# mod_rewrite 
RewriteEngine on 
RewriteRule ^foo/(.*) /bar/$1 [L,R=301] 

注意mod_alias中和mod_rewrite的爲他們的正則表達式模式不同的要求。 mod_alias始終需要完整的URL路徑。但是使用mod_rewrite取決於您是在.htaccess文件還是在服務器配置/虛擬主機部分中使用它。在.htaccess文件中,您需要編寫沒有每個目錄路徑前綴的模式(在文檔根目錄爲/的情況下,在/quux/的情況下爲/quux/)。

+0

我無法使格式化工作,對不起。 我在使用上面的時候做錯了什麼。我寫... 重定向301 /幻想/ v /幻想/意見 RedirectMatch 301^/幻想/ v /(.*)/幻想/意見/ $ 1 但這導致我的整個網站的內部服務器錯誤。然後我嘗試了這個... 重定向301 http://www.xecu.net/fantasy/v http://www.xecu.net/fantasy/opinions RedirectMatch 301 http://www.xecu.net/幻想/ v(。*)http://www.xecu.net/fantasy/opinions$1 這並沒有導致錯誤,但沒有奏效。我做錯了什麼? – 2009-10-09 19:33:33

相關問題