rewrite 功能就是,使用 Nginx 提供的全局變量或自己設置的變量,結合正則表達式和標誌位實現 url 重寫以及重定向。
rewrite 只能放在 server{}, location{}, if{} 中,並且只能對域名後邊的除去傳遞的參數外的字符串起作用;也就是說,這是美化網址的一個功能,讓讀者容易看懂網址,而不是一長串有 ? = & % 這些符號的網址。
例如,沒有經過 rewrite 規則寫法:
https://ds.gtour.info/forum.php?mod=viewthread&tid=31&extra=page%3D1
上面的網址經過 rewrite 規則寫法後:
https://ds.gtour.info/thread-31-1-1.html
這樣的網址看起來,就好看多了。
以 EasyEngine 來說,WordPress 程序已經預設在 conf 文件內了,但其他的程序就要額外將 Rewrite 規則存為 conf 文件,上傳到 /var/www/domain.com/conf/nginx 資料夾下。
檢查配置是否正確,重啟 Nginx
nginx -t && service nginx restart
這裡是在網路上收集的 rewrite 規則寫法,經過測試確實可用的:
DiscuzX
drupal
ecshop
joomla
laravel
opencart
typecho
WordPress
Chevereto
SMF (Simple Machines Forum)
Featured Photo 攝影師:rawpixel.com,連結:Pexels