如何重定向所有 URL,.htaccess以便將所有以 結尾的 URL-text/重定向到(url)/,洗掉-text部分。
例如,所有網址(帶 word -text/):
https://www.example.com/example-text/
到
https://www.example.com/example/
uj5u.com熱心網友回復:
要洗掉-textURL 路徑的末尾(最后一個斜杠之前),您可以在根.htaccess檔案的頂部(該# BEGIN WordPress部分之前)執行以下操作。
例如:
RewriteRule (. )-text/$ /$1/ [R=302,L]
不需要其他指令(因為RewriteEngine On指令在后面的 WordPress 代碼塊中)。
的$1反向參考(在替代字串)包含URL的路徑先于-text/在URL路徑的末尾。
這適用于任何以-text/. 如果它只適用于包含單個 URL-path 段的 URL(如您的示例中所示),那么您可以按如下方式修改RewriteRule 模式:
RewriteRule ^([^/] )-text/$ /$1/ [R=302,L]
這將/example-text/像以前一樣匹配(單個路徑段),但不匹配(/foo/bar-text兩個路徑段)。
請注意,這些是 302(臨時)重定向。如果這是永久性的,則將其更改為 301,但只有在您測驗過它按預期作業后才能使用。默認情況下,瀏覽器會永久快取 301,因此可能會使測驗出現問題。
uj5u.com熱心網友回復:
這不完全是你的答案
但我把這個答案放在這里,也許它會解決其他一些人的問題
function forward_to_url(){ $self = $_SERVER["REQUEST_URI"]; //The string you want to find $itemCheck = "url"; $needle = $itemCheck. '/'; //Any Address You want redirect $forwardlink = '/'.preg_replace('/'.strtolower($itemCheck).'/','',strtolower($self)); $length = strlen($needle); $urlend= substr($self, -$length); if ($urlend == $needle or $urlend == $itemCheck) { wp_redirect($forwardlink, 301); } } add_action('template_redirect', 'forward_to_url');
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316606.html
標籤:WordPress的 .htaccess 重定向 改写
