apache mod_重写影响子文件夹中的文件

apache mod_重写影响子文件夹中的文件,apache,mod-rewrite,Apache,Mod Rewrite,上面的代码写在我的.htaccess文件中。我想要我的网址 发件人: 致: 这些规则运行良好,但如果我尝试访问我的后端管理员的URL,它会将页面重定向到page.php?name=admin。 有没有办法只限制page.php的规则,而不影响子文件夹admin下的其他页面?您可以使用规则停止重写: http://localhost/mysite/category/article_title http://localhost/mysite/article_title 将该规则放在其他规则之前,它

上面的代码写在我的.htaccess文件中。我想要我的网址 发件人:

致:

这些规则运行良好,但如果我尝试访问我的后端管理员的URL,它会将页面重定向到page.php?name=admin。
有没有办法只限制page.php的规则,而不影响子文件夹admin下的其他页面?

您可以使用规则停止重写:

http://localhost/mysite/category/article_title
http://localhost/mysite/article_title

将该规则放在其他规则之前,它将是应用于
/admin

的唯一规则。如果在规则之前添加此重写条件,则仅当请求不是针对真实文件时,它才会应用规则

RewriteRule ^admin$ - [L]
http://localhost/mysite/category/article_title
http://localhost/mysite/article_title
RewriteRule ^admin$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ page.php?p=$1&name=$2 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/?$ page.php?name=$1 [NC,L]