.htaccess mod#u rewrite-执行两个重定向-如果第一个重定向完成';我不能做第二件事

.htaccess mod#u rewrite-执行两个重定向-如果第一个重定向完成';我不能做第二件事,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,这是我目前的htaccess文件 RewriteEngine On # Only redirect if file dosen't exist. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^admin/(.*) /admin.php RewriteRule ^([^/]) /index.php [L] 我不

这是我目前的htaccess文件

RewriteEngine On

# Only redirect if file dosen't exist.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/(.*)     /admin.php          
RewriteRule ^([^/])         /index.php          [L]
我不知道为什么这样不行。我想我终于掌握了mod_rewrite,然后它做了一些完全出乎意料的事情

基本上,如果URL是domain.com/admin/something,那么我希望它重定向到domain.com/admin.php(包括如果它是just/admin)。但是,如果它还有什么问题,我希望它重定向到index.php

你知道如何做到这一点吗

多谢各位

RewriteEngine On

# No redirect, if file or directory exists
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .* - [L]

RewriteRule ^admin/(.*)     /admin.php          [L]
RewriteRule ^(.*)$         /index.php         [L]
我没有测试它。有趣的部分是管理规则后的
L
-标志,因为它阻止下一个规则匹配


我更改了
RewriteCond
-语句,因为它们只适用于下一个
RewriteRule
,并且(在您的情况下)不影响
index.php的规则这将起作用,只需删除第二条重写规则的前导
/
。我已编辑了对Clmarkurt评论的回答,以防将来有人遇到此问题