Mod rewrite 两个mod重写规则

Mod rewrite 两个mod重写规则,mod-rewrite,url-routing,Mod Rewrite,Url Routing,我需要两条有条件的规则。背景: http://www.domain.com/.htaccess http://www.domain.com/index.php http://www.domain.com/admin/index.php http://www.domain.com/.htaccess http://www.domain.com/index.php http://www.domain.com/admin/index.php 我有两个重写规则: ROOT: RewriteEngine

我需要两条有条件的规则。背景:

http://www.domain.com/.htaccess http://www.domain.com/index.php http://www.domain.com/admin/index.php http://www.domain.com/.htaccess http://www.domain.com/index.php http://www.domain.com/admin/index.php 我有两个重写规则:

ROOT: RewriteEngine On RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*/)([^/]+)/([^/]+) $1?$2=$3&%1 [L] RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^([^/]+)/ $1.php?%1 [L] ADMIN: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-z]+?)/([a-z]+?)/(.*)$ index.php?model=$1&view=$2¶ms=$3 [L,NS] 根目录: 重新启动发动机 RewriteCond%{QUERY_STRING}^(.*)$ 重写规则^(.*/)([^/]+)/([^/]+)$1?$2=$3&%1[L] RewriteCond%{QUERY_STRING}^(.*)$ 重写规则^([^/]+)/$1.php?%1[L] 管理员: 重新启动发动机 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D 重写规则^([a-z]+?)/([a-z]+?)/(.*)$index.php?模型=$1&视图=$2&参数=$3[L,NS] 我需要以某种方式使根级别上只有一个.htaccess文件同时使用这两个规则,但管理规则仅在url
和根规则应用于
时适用

提前谢谢你,我花了整整一天的时间来做这件事,当一个工作时,另一个给我一个“未找到”的页面错误

克里斯

我会用这个:

RewriteEngine On

# /admin/ rule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/([a-z]+)/([a-z]+)/(.*)$ admin/index.php?model=$1&view=$2&params=$3 [L,NS]
RewriteRule ^admin/ - [L]

# other rules
RewriteRule ^(.*/)([^/]+)/([^/]+)$ $1?$2=$3 [L,QSA]
RewriteRule ^([^/]+)/ $1.php [L,QSA]

QSA
标志(查询字符串附加)替换
RewriteCond%{query\u string}(.*)
指令。

抖动重复:那么你能回答我的问题吗?如果不是建设性的,为什么要发表评论?你可能想添加评论或一段解释你的情况。混乱:谢谢你的快速回复。但它似乎不起作用。。。?我甚至尝试过改变一些事情,但仍然没有成功:(
RewriteEngine On

# /admin/ rule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/([a-z]+)/([a-z]+)/(.*)$ admin/index.php?model=$1&view=$2&params=$3 [L,NS]
RewriteRule ^admin/ - [L]

# other rules
RewriteRule ^(.*/)([^/]+)/([^/]+)$ $1?$2=$3 [L,QSA]
RewriteRule ^([^/]+)/ $1.php [L,QSA]