標籤:nginx 題解 重啟 com dmi virtual get target engine
<VirtualHost *:80 *:81>
ServerAdmin [email protected]
DocumentRoot /active/www/yingchao123/trade
ServerName trade.test.yingchao123.com
ServerAlias trade.yingchao123.com
RewriteEngine On
RewriteRule ^([\da-z]{1,10})$ ./index.php?mod=list&do=unique&alias=$1 [L]
RewriteRule ^([\da-z]{1,10})&(.+)$ ./index.php?mod=list&do=unique&alias=$1&$2 [L]
</VirtualHost>
但這樣寫會出現 出現 400 Bad Request 錯誤
解決方案是將rewrite規則寫倒directory中:
<VirtualHost *:80 *:81>
ServerAdmin [email protected]
DocumentRoot /active/www/yingchao123/trade
ServerName trade.test.yingchao123.com
ServerAlias trade.yingchao123.com
<Directory "/active/www/yingchao123/trade">
RewriteEngine On
RewriteRule ^([\da-z]{1,10})$ ./index.php?mod=list&do=unique&alias=$1 [L]
RewriteRule ^([\da-z]{1,10})&(.+)$ ./index.php?mod=list&do=unique&alias=$1&$2 [L]
</Directory>
</VirtualHost>
重啟Apache,問題解決
說明:apache檢查配置是否語法錯誤httpd.exe -t 或者apachectl -t,nginx對應的命令是nginx -t
Apache rewrite 出現 400 Bad Request 的解決方案