2013-08-01 235 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