2017-08-08 69 views
0

我最近改变了我的博客可以到达的方式。在htaccess中的永久重定向

的新方法:

RewriteRule ^blog(\/*)$ blog.php [QSA] 
RewriteRule ^blog/page-([0-9]*)$ blog.php?p=$1 [QSA] 
RewriteRule ^blog/([a-zA-Z0-9_-]*)$ blog.php?handle=$1 [QSA] 

旧的方式是:

RewriteRule ^news(\/*)$ blog.php [QSA] 
RewriteRule ^news/page-([0-9]*)$ blog.php?p=$1 [QSA] 
RewriteRule ^news/([a-zA-Z0-9_-]*)$ blog.php?handle=$1 [QSA] 

所以基本上只更改了字的 “新闻”,以 “博客”。

有一个简单的方法,使从/news永久重定向到/blog藏汉为/news/*/blog/*

回答

1

有一个简单的方法,使从/news/blog永久重定向以及/news/*/blog/*

将这一规则如下RewriteEngine线第一条规则:

RewriteEngine On 

RewriteCond %{REQUEST_URI} ^(/[^/]*)?/news(/.*)?$ [NC] 
RewriteRule^%1/blog%2 [L,NE,R=301] 

# remaining rules go here 
+0

这重定向我在我的测试系统中从'http:// localhost/projectname/news'到'http:// localhost/blog/projectname/news' – user2015253

+0

这只适用于我的本地主机测试环境。实时服务器没有项目名称部分。但解决方案必须为两者工作。原帖中的重写也适用于两者。 (注意:在本地主机上,.htaccess和其他所有项目文件一样位于“projectname”文件夹中) – user2015253

+0

请问为什么这些信息不是您问题的一部分? – anubhava