亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 .htaccess 區分帶參數和不帶參數的網址

如何使用 .htaccess 區分帶參數和不帶參數的網址

PHP
料青山看我應如是 2022-09-17 21:40:59
我甚至不知道我怎么能給這個問題起個標題,但問題來了:我在這個有服務的項目上使用seo友好的網址。服務鏈接看起來像; 他們被翻譯成;另一方面,頁面在其網址末尾沒有.php擴展名,例如:或。.com/services/service-title-6.com/services.php?s=service-title-6.com/services.com/about-us實際問題出現在我處理此網站的多種顯示語言之間的切換時。我剛剛使用了一個調用的get參數,我可以將其傳遞到任何頁面,因為我在每個頁面上都有一個php文件來處理它以及其他東西。在我的導航欄上,語言更改按鈕鏈接是動態創建的,因此用戶不必離開當前頁面即可更改網站的語言。因此,如果您正在查看“關于”頁面,則鏈接是:切換到英語。這是在 php 中生成的,類似于 .lang.com/about-us?lang=en$current_url . "?lang=en"但是,當我查看帶有服務等參數的頁面時,鏈接會被 .htaccess 轉換為類似以下內容的內容: 。如您所知,第二個問號將作為參數被忽略并且不會傳遞。我需要使用 & 符號而不是問號。但是,當我只是在常規頁面上執行此操作時,我不能單獨使用 & 符號,因為它將被翻譯成:..com/services.php?s=service-title-6?lang=en.com/about-us.php&lang=en很抱歉這個問題很長,但任何幫助和想法來處理這個問題將不勝感激。謝謝。
查看完整描述

1 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

我通過將下一個查詢字符串附加到我的URL來修復我的問題。我不知道mod_rewrite的旗幟。QSA

這是我對服務頁面的原始規則:

RewriteRule ^services/(.*?)/?$ services.php?s=$1 [L]

我用以下代碼替換了它:

RewriteRule ^services/(.*?)/?$ services.php?s=$1&lang=$2 [L,QSA]

我不知道它是否100%可靠,但它似乎完美地滿足了我的需求,即使做了一些測試。

(感謝約瑟夫·西布勒-復職莫妮卡指導我回答一個有用的問題。


查看完整回答
反對 回復 2022-09-17
  • 1 回答
  • 0 關注
  • 91 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號