简单的RewriteRule与nginx

时间:2013-05-01 18:00:13

标签: .htaccess mod-rewrite nginx

我正在尝试编写一个RewriteRule来制作一个简单的网址。我希望用户能够输入

www.example.com/somepage

并将它们带到

www.example.com/abc/somepage.php

如何在.htaccess中完成?

我试过这些无济于事:

RewriteRule ^somepage$ abc/somepage.php [L]

RewriteRule ^/somepage$ /abc/somepage.php [L]

我做错了什么?

编辑: nginx也可以处理其配置文件中的重写(我认为实际上是首选),这是我的情况(请参阅下面的答案)。 HTH

2 个答案:

答案 0 :(得分:1)

如果您希望将用户的Web浏览器重定向到您的PHP页面,那么您需要在RewriteRule末尾添加R=301标志。

但是如果您希望以静默方式重写请求(以便Apache知道在哪里找到资源,但是用户的Web浏览器只看到“干净”的URL),那么您不需要“R”标志。 / p>

尝试以下方法:

RewriteRule ^somepage$ /abc/somepage.php

这只会重写对/ somepage的请求,以便Apache从/abc/somepage.php中获取内容。

答案 1 :(得分:0)

我们的nginx服务器正在使用.htaccess文件(因为我之前在那里实现了重写),但现在它正在处理其配置(.conf)文件中的重写(这是推荐的方法)。

我没有权限修改.conf文件,因此我不会发布任何未经测试的代码..希望这有助于某人!