我有一个.htaccess文件,它使用以下重写规则。
RewriteRule ^([a-zA-Z0-9_]+)/$ index.php?action=$1
此规则有效并重写http://url.com/doSomething到http://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服务器时,原始重写规则优先,不会传递到子目录。
我是否缺少一个选项来允许规则的原始设计方式?
如果上面有什么不合理的地方,请告诉我!
只使用一个规则创建.htaccess
,并将其放置在/
以及要重写的子目录中。
.htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)/$ index.php?action=$1
所以,
将.htaccess
置于/.htaccess
将.htaccess
置于/news/.htaccess