Php 重定向和重写-子目录存在问题

Php 重定向和重写-子目录存在问题,php,apache,codeigniter,redirect,rewrite,Php,Apache,Codeigniter,Redirect,Rewrite,我在apache中有一个表达式: 重新编写引擎打开 重写规则^(.*)$2012/$1[L] 我的申请在“2012”文件夹中。 当有人键入www.mysite.com时,我想重定向到www.mysite.com/2012 但URL必须继续www.mysite.com 这是用我当前的正则表达式完成的 但我无法访问其他子目录来查找其他图像,例如,所有这些都可以访问www.mysite.com/2012/newsletter 如何让www.mysite.com/newsletter正常工作?这应该可以

我在apache中有一个表达式:
重新编写引擎打开
重写规则^(.*)$2012/$1[L]

我的申请在“2012”文件夹中。 当有人键入www.mysite.com时,我想重定向到www.mysite.com/2012 但URL必须继续www.mysite.com

这是用我当前的正则表达式完成的

但我无法访问其他子目录来查找其他图像,例如,所有这些都可以访问www.mysite.com/2012/newsletter

如何让www.mysite.com/newsletter正常工作?

这应该可以:

RewriteEngine On
# If request starts with 'newsletter' no further rule is processed
RewriteRule ^(newsletter) - [L]

# If first rule doesn't match, rewrite everything not starting with '2012' to the '2012 subfolder
RewriteCond %{REQUEST_URI} !^/2012/.*$
RewriteRule ^(.*)$ /2012/$1 [L]

为什么不能在
index.php
中使用
标题(“位置:…”)
?您当前的重写规则说您希望将每个请求重定向到2012文件夹。在重写规则之前,您必须对所有要访问的页面进行硬编码,或者将当前规则更改为更灵活的规则,因为我不希望2012文件夹保留在URL中。Osny:您能否明确说明您执行哪些URL,不希望将其重写到2012文件夹?最后,你必须向服务器澄清这一点-在不确切知道你想要的结果的情况下,我们无法帮助你做到这一点。mysite.com/newsletter仍将被重定向到mysite.com/2012我无法访问其他子目录中的图像。在解决方案进行过程中,不要否决,这没有任何意义。试试新的编辑告诉我它是否有效,我没有任何可能测试这个,我还有另一个解决方案FWIW,他没有投反对票。在发布20分钟后,我才发现这一点,但这并没有让我觉得你还在努力寻找答案。否决票被删除。