Dot-Htaccess
Apache 域重定向和重寫查詢字元串
我的 Apache 伺服器將以這種格式接收來自使用者的傳入請求:
http://192.168.1.182/SEARCH=searchstring&URL=http://test.com/blahblahblah
我想將使用者重定向到另一個域,但保留搜尋字元串並將其添加到新 URL 的末尾。
例子:
https://newdomain.com/#q=searchstring
做這個的最好方式是什麼?
我閱讀了 Apache Docs on Redirecting and Remapping with mod_rewrite 並嘗試了各種範例,但無法正常工作。
就像這樣(如果你的 URL 參數總是在 SEARCH 參數之後)
RewriteEngine On RewriteCond %{QUERY_STRING} SEARCH=(.*?)&URL= [NC] RewriteRule . https://newdomain.com/#q=%1 [R=301,L]
NC
我添加了不區分大小寫的標誌,就像它與SEARCH=
andsearch=
如果您的 URL 參數可能不存在:
RewriteEngine On RewriteCond %{QUERY_STRING} SEARCH=([^&]*) [NC] RewriteRule .* https://newdomain.com/#q=%1 [R=301,L]
要啟用
.htaccess
,您必須添加AllowOverride All
到您的 web 文件夾,並啟用 mod_rewrite(終端命令a2enmod rewrite
:)