Apache rewrite規則是一種配置規則,用于將URL重寫為其他格式或處理方式。它使用Apache的mod_rewrite模塊來實現。通過rewrite規則,可以更改URL的結構、添加或刪除查詢參數、重定向URL、阻止或允許訪問等。
Rewrite規則通常使用正則表達式來匹配URL,并使用特定的語法來指定重寫規則。它可以應用于整個網站或特定的目錄或文件。
例如,以下是一個簡單的rewrite規則,將所有的URL重寫到index.php文件:
RewriteEngine On
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
上述規則將會將所有的URL重寫為index.php?url=原始URL。其中,^(.*)$
是一個正則表達式,匹配任何字符,$1
是一個反向引用,表示匹配到的內容。
除了重寫URL,rewrite規則還可以用于重定向URL,例如:
RewriteEngine On
RewriteRule ^old-url$ /new-url [R=301,L]
上述規則將會將所有訪問"old-url"的請求重定向到"/new-url",并返回301狀態碼。其中,R=301
表示使用301重定向,L
表示停止處理后續規則。
總之,Apache rewrite規則是一種用于重寫和重定向URL的配置規則,通過正則表達式和特定的語法來實現。它可以用于實現URL美化、防止死鏈、重定向等功能。