mod_rewrite:第二层重定向url

时间:2014-02-04 14:16:01

标签: apache .htaccess mod-rewrite

希望从

等语法重定向所有请求

http://www.example.com/goto/xxxxxx

http://www.example.com/articles/xxxxxx

(xxxxxx)是需要提交的变量。

我写了这段代码,但它不起作用:

RewriteEngine On
RewriteBase /

RewriteRule /goto/(.*)$ /articles/$1

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你几乎是正确的但是领先的斜线是你规则中的问题。 .htaccess是每个目录指令,Apache从RewriteRule URI模式中剥离当前目录路径(从而导致斜杠)。

如果要重定向,则以下规则将在root .htaccess中运行:

RewriteEngine On
RewriteBase /

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

如果您不想在浏览器中更改网址,请使用:

RewriteRule ^goto/(.*)$ /articles/$1 [L,NC]

参考:Apache mod_rewrite Introduction

答案 1 :(得分:0)

尝试

RewriteRule goto/(.*)$ articles/$1