Mod rewrite URL重写规则适用于外部重定向,但不适用于内部重定向

Mod rewrite URL重写规则适用于外部重定向,但不适用于内部重定向,mod-rewrite,redirect,url-rewriting,Mod Rewrite,Redirect,Url Rewriting,我的.htaccess有问题,因为它在某种程度上表现得很奇怪。我的网址是 http://my_domain.com/best_apps/my_apps/login 我想用mod rewrite在内部重定向到 http://my_domain.com/best_apps/index.php/login 以下是我的htaccess文件: RewriteEngine on RewriteBase / RewriteCond $1 ^(my_app) RewriteRule ^(my_app)(

我的.htaccess有问题,因为它在某种程度上表现得很奇怪。我的网址是

http://my_domain.com/best_apps/my_apps/login
我想用mod rewrite在内部重定向到

http://my_domain.com/best_apps/index.php/login 
以下是我的htaccess文件:

RewriteEngine on
RewriteBase /

RewriteCond $1 ^(my_app)
RewriteRule ^(my_app)(.*)$ /best_apps/index.php$2 [L]
奇怪的行为是,如果重定向是内部的(标志是
[L]
),它不工作并显示404错误,但如果我在外部执行重定向,它确实工作并正确重定向到我的登录页面(标志是
[R=301,L]


注意:重写应该适用于我的应用程序的所有页面,而不仅仅是登录页面。

您的服务器在404(未找到)错误中报告了什么
URL
?这将有助于找到问题…不。。。不是我的服务器或域,而是我的应用程序。。我试着打印请求的url,它说:我想这意味着url没有被成功重写。但为什么它与外部重定向一起工作?谢谢.Hm,让我们试着使重写规则尽可能简单:
RewriteRule^my\u app(/.*)$/best\u apps/index.php$1[L]
-它应该和你的一样。我想还有其他规则会导致这个问题谢谢,卡米尔。我试过了,但没用。现在,报告404错误的是我的域/服务器。它不应该是
重写规则^best_apps/(my_app)(.*)$/best_apps/index.php$2[L]