您好我想創建一個規則,以消除該URL的第一個目錄動態目標,看到的例子:htaccess的使用正則表達式
請求URL:http://www.example.com/San-Salvador/help
我想重定向到
目標URL:http://www.example.com/help
模式爲[基本URL] [城市名稱] [目錄],我想重新創建它,因爲這是[base URL] [目錄名]
您好我想創建一個規則,以消除該URL的第一個目錄動態目標,看到的例子:htaccess的使用正則表達式
請求URL:http://www.example.com/San-Salvador/help
我想重定向到
目標URL:http://www.example.com/help
模式爲[基本URL] [城市名稱] [目錄],我想重新創建它,因爲這是[base URL] [目錄名]
這裏是一個應該工作的一般的正則表達式:
^(http:\/\/www\.example\.com\/)(.*\/)(.*)
每個術語在括號中是一組這將可能匹配的輸入串。對於輸入字符串:
http://www.example.com/San-Salvador/help
這裏的匹配組:
http://www.example.com/
San-Salvador/
help
要保留是第一個和第三個,即團體http://www.example.com/
和help
給你http://www.example.com/help
你可以探索這個正則表達式here at Regex 101。
謝謝,現在我只需要弄清楚如何將變量放在htaccess上使用 –
@Jose如果你可以給我一些上下文,我會嘗試給你你可以在WordPress中使用的代碼。 –
以及我從一個自定義cms移動到wordpress,我不想鬆散所有的搜索引擎優化,因爲我改變了網站的結構,舊的網站寫在asp.net mvc上,他們做了代碼中的網址處理。我試圖在wordpress上覆制它。在asp.net項目中,他們解析url並將其重定向到一個新的url,而不改變瀏覽器中的url顯示。我希望這是有道理的 –
大多數情況下,您可以使用這條規則來移除城市。但是,您的代碼需要處理重定向的URL請求後發生的情況。意思是什麼時這個被稱爲http://www.example.com/help
RewriteEngine on
RewriteRule ^(?:[^/]+)/([^/]+)/?$ /$1 [L]
感謝這個解決方案的確能工作,但它改變了瀏覽器中的網址,有沒有辦法在地址欄上寫這個http://www.example.com/San-Salvador/help,重定向在這裏http://www.example.com/help,但不要更改地址欄上的地址 –
@JoseManuelOjeda你應該能夠刪除301重定向和完整的URL。查看我的更新。 –
這是如何解決你的? –
你能告訴我們一些示例代碼,你期望的正則表達式運行? –
以及正則表達式不是主要問題,主要問題是使用htaccess編寫規則 –
當您在瀏覽器中輸入「http:// www.example.com/help」時會發生什麼? – anubhava