在首頁網址不變的前提下,利用 Apache .htaccess 重寫首頁頁面,指定到同站某一網頁內容,而不影響其他網頁運作
使用情境:
首頁需要改版時,但新版本頁面開發/測試時但還不能正式上線,但於準上線狀態,這時可以透過這技巧,避免停機更新,快速切換首頁顯示頁面,不更動網址所以行銷追蹤碼或廣告著陸都不會有問題
[……]
在首頁網址不變的前提下,利用 Apache .htaccess 重寫首頁頁面,指定到同站某一網頁內容,而不影響其他網頁運作
首頁需要改版時,但新版本頁面開發/測試時但還不能正式上線,但於準上線狀態,這時可以透過這技巧,避免停機更新,快速切換首頁顯示頁面,不更動網址所以行銷追蹤碼或廣告著陸都不會有問題
[……]
終於還是升級了 Win11,升級完成後慘案還是發生了,該來的還是會來。在我電腦中安裝用來開發用的 XAMPP 中的 MySQL 居然打不開了!!! 還好在 Win10 的時候有遇過一次,也感謝自己有記錄下來,依然有用,解決我 Win11 安裝後 MySQL 崩潰問題,也保住所有資料,本文也帶大家一步一步的做,如您也遇到一樣情況,可以參考本文,希望也能解決您的問題。
升級 Win11後,開啟 XAMPP 出現一堆錯誤的紅字,MySQL 也跟著掛了!!!!
由 XAMPP 控制面板開啟 mysql error log (也看不是很懂)
詳細原因其實也不是很清楚,網路上找到下列這篇文章,似乎是最簡單解決這個問題,本文是依照下列這篇文章進行問題排除,方法與原文有點差異,有興趣可參考原文
參考:xampp mysql and
參考:phpmyadmin dont work
如果您的資料已經有資料了,強烈建議備份下來,再來的動作可能會造成原有資料遺失,做危險操作時,花一些時間備份,養成好習慣
資料檔案預設目錄:C:\xampp\mysql\data
預設 backup 目錄:C:\xampp\mysql\backup
注意!! 若您 資料庫有使用 innodb 在複製 backup 中的檔案時,不可以複製 ibdata1 這個檔案,同時也確保 ibdata1 存在您的 data 目錄中,ibdata1 刪除了,將無法恢復您的資料庫
請參考此文章,恢復您的 innodb
參考:recover mysql database from ibdata1
覆蓋檔案完成,重啟 MySQL,太好了,沒有報錯,接著開啟 phpMyAdmin 驗證一下是否正常
噴了一些錯誤,但應該是密碼問題,剛覆蓋 backup 的檔案後,如果您的 phpMyAdmin 或其他程式都有設定資料庫登入密碼的話,需要重新設定密碼
開啟 XAMPP 面板,按下右側的 Shell 按鈕
輸入下列這段指令更改資料庫 root 密碼
參考:Resetting MySQL Root Password with XAMPP on Localhost
[……]
不知道怎麼回事,今天打開我本機的開發環境的 XAMPP ,無法啟動 MySQL ,因次開始排除錯誤,也將這個過程紀錄,如您也遇到一樣情況,可以參考本文,希望也能解決您的問題
開啟 XAMPP 出現一堆錯誤的紅字
由 XAMPP 控制面板開啟 mysql error log, 紅框這一段似乎是錯誤的原因
詳細原因其實也不是很清楚,網路上找到下列這篇文章,似乎是最簡單解決這個問題,本文是依照下列這篇文章進行問題排除,不過有點不太一樣就是,有興趣可參考原文
xampp mysql and
phpmyadmin dont work
如果您的資料已經有資料了,強烈建議備份下來,再來的動作可能會造成原有資料遺失,做危險操作時,花一些時間備份,養成好習慣
資料檔案預設目錄:C:\xampp\mysql\data
預設 backup 目錄:C:\xampp\mysql\backup
複製 backup 目錄檔案覆蓋於 data 目錄
注意!! 若您 資料庫有使用 innodb 在複製 backup 中的檔案時,不可以複製 ibdata1 這個檔案,同時也確保 ibdata1 存在您的 data 目錄中,ibdata1 刪除了,將無法恢復您的資料庫
請參考此文章,恢復您的 innodb
參考:recover mysql database from ibdata1
覆蓋檔案完成,重啟 MySQL,太好了,沒有報錯,接著開啟 phpMyAdmin 驗證一下是否正常
噴了一些錯誤,但應該是密碼問題,剛覆蓋 backup 的檔案後,如果您的 phpMyAdmin 或其他程式都有設定資料庫登入密碼的話,需要重新設定密碼
開啟 XAMPP 面板,按下右側的 Shell 按鈕
輸入下列這段指令更改資料庫 root 密碼
參考:Resetting MySQL Root Password with XAMPP on Localhost
[……]
開發者通常都會在本地端電腦建立一個 localhost 的伺服器來模擬遠端生產環境或測試環境的狀態,進行相關程式碼的開發、測試,而 https 安全網站目前成為主流,為盡可能接近遠端伺服器,勢必本地端伺服器也需要安裝SSL憑證,筆者本地開發環境使用的是 XAMPP,所以本文主要是議介紹 XAMPP 的 https 配置,本文主要是「方便」開發為目地,而非「安全」為目地,介紹如何開發環境中設定SSL憑證,這僅適用於開發環境,切記 ! 不適用於正式生產環境。
本文 XAMPP版本為:XAMPP 7.4.8 ( Windows 64bit )
本文使用的 XAMPP 版本已自帶 openssl 所以無需再另外安裝 openssl
在 XAMPP 中的 Apache 根目錄中建立一個名為 ssl 子目錄,這目錄用來存放之後產生出來的證書檔案,目錄絕對路徑可能長得像下方這樣
openssl 自簽憑證需要一個配置檔,熱心網友 Adrian Suter 在 Github 上已經寫好配置檔範本,我們在剛建立的 ssl目錄中,建立一個名為 cert-template.conf 的檔案,並貼上下方範本網址中的代碼
熱心網友 Adrian Suter 在 Github 把 openssl 簽發憑證的流程寫成 Windows bat 檔案,簡化操作流程,克服指令障礙,非常佛心,如果配置檔配置正確,Enter,Enter,Enter一鍵就可以完成指定域的SSL憑證簽發,非常方便,開啟下方連結,並於上述的 ssl 目錄中建立一個名為 make-cert.bat 的檔案,並貼上下方網址中的代碼
執行 make-cert.bat 前,請確保 cert-template.conf 已同一目錄
執行 make-cert.bat,要求輸入要簽發的網域( 以 example.com 為例 )
輸入 example.com 按 Enter
再來會要求填入一些相關資料,不理它直接Enter、Enter、Enter下去就好,沒有輸入會帶預設值,因為本文介紹只是方便開發用的,不是正式環境使用,所以這些資訊並不必是真實的
當看到請按任意鍵繼續的文字,代表已經完成,下圖就是完成的截圖
此時 ssl 目錄就會多一個 example.com 的子目錄
開啟 example.com 目錄,裡面應該會有 server.crt 及 server.key 這兩個檔案,這就是憑證檔案,如果看到這兩個檔案,恭喜~憑證簽發完成! 這做法非常簡單
openssl 自簽憑證沒有信任組織背書,仍會被瀏覽器標示為不安全,需要在 Windows 手動安裝信任此憑證,打開 server.crt 如下圖,按下「安裝憑證」按鈕
會跳出憑證匯入精靈,存放位置選「本機電腦」,下一步
選擇「將所有憑證放入以下存放區」,按憑證存放區的「瀏覽」按鈕
選擇「受信任的根憑證授權單位」,確定
下一步
按「完成」按鈕以完成憑證匯入
看到此彈跳視窗即匯入完成
檔案位置:C:\xampp\apache\conf\extra\httpd-vhosts.conf
設定 XAMPP 的虛擬主機設定
檔案位置:C:\Windows\System32\drivers\etc
在檔案最下方加入下方這一行,將網域指向本機,流量就不出站了
完成上述動作,再來就是要測試是否可以正常運行,在這之前先完成幾個步驟
最後打開瀏覽器,開啟所設定的網域,正常網址前方應該是不會出現「不安全」字樣,應該會出現鎖頭圖標,點擊網址前方鎖頭圖標,會顯示「已建立安全連線」的小視窗,如果有看到代表已經設定成功囉
如果沒看到也可以再嘗試一下多清除幾次瀏覽器的快取,或關閉瀏覽器再開啟,我發現瀏覽器這部分似乎有快取,有時設定成功卻仍顯示不安全,所以可以特別去注意這部分,若還是不行就重新操作一遍,或瀏覽文章下方參考連結參考原文
當我們完成階段性任務,不需要再使用開發環境某一個域的憑證時,可以參考下面這篇來刪除憑證
https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/
https://a091234765.pixnet.net/blog/post/403840004
https://gist.github.com/turtlepod/3b8d8d0eef29de019951aa9d9dcba546#file-cert-conf
https://www.cnblogs.com/kidsitcn/p/10561979.html
https://odan.github.io/2017/10/29/installing-an-ssl-certificate-under-apache-xampp.html
[……]
安裝完 XAMPP 開啟控制面板,啟動 Apache & MySQL 而在 MySQL 的同列有一個 Admin 按鈕,這就是開啟 phpMyAdmin 的方式,這是一件再平常不過的事,但今天在另一台電腦裝完 XAMP 後開啟 phpMyAdmin 後發生資料庫連線錯誤
依照經驗這是密碼錯誤造成的,如果你是預設安裝路徑,你可以直接用文字編輯器開啟下方這個檔案
這是 phpMyAdmin 的設定檔,在檔案中找到下面這幾行
發現密碼是沒有被設定的,我們在 $cfg['Servers'][$i]['password']
中鍵入我們要的密碼,並且把 $cfg['Servers'][$i]['AllowNoPassword']
改為 false,像下方這樣
接著儲存檔案,重啟 MySQL,重新進入 phpMyAdmin,賓果!! 看到登入畫面了,登入成功
http://jsnwork.kiiuo.com/archives/2738/xampp-mysql-phpmyadmin-%E8%A8%AD%E5%AE%9A-root-%E5%AF%86%E7%A2%BC/
[……]
就我目前所知,.gitignore 檔案無法忽略 .htaccess 檔,這有點困擾,因為正式環境的.htaccess配置與本地端開發環境的配置通常會有些差異,如果不能忽略這檔案,每次更新我都要改一次
.htaccess 配置,實在很困擾,目前能達到的方法要透過下指令方式取消追蹤( 我也很不會用指令的方式 ),我習慣用 SourceTree 來操作,所以這邊也教一下 SourceTree 的操作步驟。
開啟指定專案,面板的右上角有個命令模式
Reference:
https://stackoverflow.com/a/22784639/6784662
[……]
使用 Google reCaptcha 驗證碼進行後端驗證,拋出 invalid-json 錯誤,分享解決這問題的方法:
開啟檢查 PHP.ini 設定,搜尋「allow_url_fopen」,若值不是 On 請改成 On 開啟它,如下:
allow_url_fopen = On
接著搜尋「extension=php_openssl.dll」,確認是否開啟,前方有分號「;」代表沒開啟
;extension=php_openssl.dll
將前方的分號「;」移除,如下:
extension=php_openssl.dll
重新啟動 SERVER
[……]
Warning: file_get_contents(): Unable to find the wrapper “https” – did you forget to enable it when you configured PHP?
需要開啟 php php_openssl 的這個 extension
開啟 php.ini,搜尋:「extension=php_openssl.dll」
;extension=php_openssl.dll
將前方的分號「;」移除
extension=php_openssl.dll
重新啟動 SERVER[……]
開發PHP時,難免要修改PHP.ini,問題來了,PHP.ini在哪裡,我們可以透過一個簡單的方式找到 PHP.ini 的檔案路徑
建立一個PHP檔案,裡面就寫一行 phpinfo(),運行這個檔案,它會列出所有PHP相關資訊
<?php phpinfo();
PHP.ini 就在下方紅框處,這是Windows上的PHP,Linux上的PHP一樣可以這麼用[……]