Apache ReWrite规则与目录

时间:2014-03-19 11:53:05

标签: php apache .htaccess mod-rewrite url-rewriting

我有一个使用以下重写规则的.htaccess文件。

RewriteRule ^([a-zA-Z0-9_]+)/$ index.php?action=$1

此规则适用并重写http://url.com/doSomethinghttp://url.com/index.php?action=doSomething

在同一个文件中,我有子目录的重写规则,例如:

RewriteRule ^news/([a-zA-Z0-9_]+)/$ news/index.php?action=$1

在我的本地Xampp安装上,当我转到http://url.com/news/(这是一个子目录)时,它会在子目录中加载index.php文件。当我将此上传到我的托管Web服务器时,原始的重写规则优先不会传递到子目录。

我是否缺少一个选项,以允许原始方式设计规则?

如果上述任何内容都没有意义,请告诉我!

1 个答案:

答案 0 :(得分:2)

仅使用一个规则创建.htaccess,并放入/以及要重写的子目录。

<强>的.htaccess

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)/$ index.php?action=$1

所以,

.htaccess放在/.htaccess

.htaccess放在/news/.htaccess