2016-07-07 130 views
1

我需要所有的下列URL重定向:的.htaccess 301重定向分次目錄的URL固定子目錄網址

/blog/blog/this-is-an-example-page/ 
/blog/blog/hello-how-are-you/ 
/blog/blog/2015/04/29/old-article/ 
/blog/blog/2014/09/12/ 

以下目錄:

/blog/ 

,只需輸網址的其餘部分。因此,/blog/blog/this-is-an-example-page/不會去/blog/this-is-an-example-page/,而是/blog/。這是我的.htaccess文件的行應該這樣做,但它不工作:

RewriteRule ^blog/blog/(.*)$ /blog/$1 [R=301,L,NC] 

這是一個完整的.htaccess文件內容:

Options +FollowSymLinks 
RewriteEngine On 

# Force https and www 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.easterisland.travel/blog/$1 [R,L] 


# BEGIN WordPress 
RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
# END WordPress 

RewriteRule ^blog/blog/(.*)$ /blog/$1 [R=301,L,NC] 

該文件位於/ blog/dir。

我在做什麼錯?爲什麼它不起作用?

回答

1

你並不需要匹配對htaccess文件位於該文件夾,請嘗試:

RewriteRule ^blog/(.+)$ /blog/$1 [R=301,L,NC] 

試試這個htacess:

Options +FollowSymLinks 
RewriteEngine On 
    # Force https and www 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.easterisland.travel/blog/$1 [R,L] 
    # BEGIN WordPress 
RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteRule ^blog/(.+)$ /blog/ [R=301,L,NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
# END WordPress 
+0

謝謝您的回覆,但不幸的是doens't工作! –

+0

試試更新版本 – starkeen

+0

差不多,我的朋友!我們正在接近。它現在正在重定向,但它記住了/ blog/blog/*後的網址部分,我想讓它立即刪除。因此,/ blog/blog/this-is-an-example-page /不會轉到/ blog/this-is-an-example-page /,而是轉到/ blog /。 –

1

保持之前的其他規則重定向規則和解決您的www + https規則:

Options +FollowSymLinks 
RewriteEngine On 

# Force https and www 
RewriteCond %{SERVER_PORT} 80 [OR] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^(.*)$ https://www.easterisland.travel/$1 [R=301,L,NE] 

RewriteRule ^blog/blog/(.*)$ /blog/ [R=301,L,NC] 

# BEGIN WordPress 
RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
# END WordPress 

確保徹底清除瀏覽器緩存當t承認這一變化。

+0

謝謝你,但它仍然無法正常工作。我使用的是Chrome,每次都會打開一個新的專用會話窗口,以確保沒有任何內容被緩存。我試圖輸入這個網址https://www.easterisland.travel/blog/blog/laksjdflkasjdf/lkajsf/,但沒有消息。 –

+1

感謝您使用正確的www + https規則!加1 –