2013-08-01 278 views
1

如何將一些URL重定向到不同的格式。htaccess URL重定向

http://mysite.com/mydir1/mydir2/my-article-first-86974.html 
http://mysite.com/mydir1/somefolder/my-article-76674.html 
http://mysite.com/mydir1/anotherfolder/some-text-35667.html 
http://mysite.com/mydir1/mydir6/my-article-another-75445.html 

我想將上述URL重定向到下面的格式。

http://mysite.com/mydir2/my-article-first-1-86974.html 
http://mysite.com/somefolder/my-article-1-76674.html 
http://mysite.com/anotherfolder/some-text-1-35667.html 
http://mysite.com/mydir6/my-article-another-1-75445.html 

在此先感謝。

+2

在線查找基本的htaccess教程?這看起來並不複雜......你有什麼想法? – naththedeveloper

+0

我在我的問題上做了一些改變,我找不到任何教程中的解決方案。 – Saritha

回答

0

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 

RewriteRule ^mydir1/([^/]+)/(.+?)-(\d+\.html)$ /$1/$2-1-$3 [L,R=301,NC] 
+0

謝謝。我不能在規則中使用「my-article」和「mydir2」這個詞,因爲它在所有URL中都會有所不同。請參閱有關新的更改。 – Saritha

+0

作出更正,請現在就試用。 – anubhava

+0

感謝您的回覆。我試過這個,但是它沒有在數字前加上'-1'。即my-article-first-86974.html應該更改爲my-article-first-1-86974.html。 – Saritha

1

應該是這樣的:

RewriteEngine on 
RewriteRule ^mydir(.*)/(.*)/([a-z\-]{2,}([a-z\-][\d])[\d])(.*)$ $2/$3$1-$4 [R=301,L] 
+0

謝謝。我不能在規則中使用「我的文章」這個詞,因爲它在所有URL中都會有所不同。請參閱有關新的更改。 – Saritha

+0

@Saritha請再試一次,更新。希望對你有所幫助 – Bora

+0

感謝您的回覆,但它不工作,它沒有在數字前加上'-1'的url。即my-article-first-86974.html應該改爲my-article-first-1-86974.html,它不會發生。 – Saritha

0

您可以使用這些方針的東西:

RewriteEngine On 
RewriteRule ^/mydir2/(.*)+$ /mydir1/mydir2/$1 
+0

重定向'my-article-1' – Bora

+0

謝謝,我對我的問題做了一些修改。 – Saritha

0

試試這個在您的htacces:

<IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteBase http://mysite.com 
     RewriteRule  ^/(.+)$ /mydir1/mydir2/$1 [L] 
</IfModule> 

注:此代碼沒有進行測試。

0

試試這個,

# SEO URL Settings 
    RewriteEngine On 
    # If your installation does not run on the main web folder make sure you folder it does run in ie./becomes /shop/ 

    RewriteBase/
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] 
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) 
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 

你可以看到這個RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

注:CODE未測試

+0

謝謝。我不能在規則中使用「my-article」和「mydir2」這個詞,因爲它在所有URL中都會有所不同。請參閱有關新的更改。 – Saritha

+0

Hi @ Saritha..updated –

+0

謝謝,我試過你的答案,它影響了我項目中的所有URL,我只想重定向URL,以http://mysite.com/mydir1/.....開頭。 – Saritha