Home >Backend Development >PHP Tutorial >PHP目录里.htaccess 重定向到一个文件

PHP目录里.htaccess 重定向到一个文件

WBOY
WBOYOriginal
2016-06-23 13:54:081217browse

请问怎么配置.htaccess使:
除根目录下resource文件夹里的内容外,其它的路径都重定向到根目录的index.php
如:
http://www.doman.com/resource/.*不重定向

http://www.doman.com/index.html
http://www.doman.com/config.php
http://www.doman.com/views/index.html
http://www.doman.com/XXX/XX.html
.........
类似以上不是resource里的内容都重定向到http://www.doman.com/index.php

谢谢!


回复讨论(解决方案)

Redirect 301 ^(^resource)$ http://www.doman.com/index.php

RewriteCond resource/.* !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

Redirect 301 ^(^resource)$ http://www.doman.com/index.php




RewriteCond resource/.* !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]


不好意思,楼上两位的与我期望的结果不一致哦,
我访问http://www.doman.com/index.html等并没有重定向到http://www.doman.com/index.php哦

不可能!我怀疑你是否写对了,.htaccess 是否生效了

不可能!我怀疑你是否写对了,.htaccess 是否生效了


应该生效了,我把.htaccess故意写错页面会出现服务器错误的信息

不可能!我怀疑你是否写对了,.htaccess 是否生效了


我在.htaccess里随便写入一些串,会出来 Internal Server Error这个

那就不可能有问题!
我给的规则是经过实际测试的

那就不可能有问题!
我给的规则是经过实际测试的


改成这样就OK了,会不会跟apache的版本有关?
RewriteEngine On
#RewriteCond resource/.* !-d  
RewriteRule ^(?!resource)(.*)$ index.php [QSA,PT,L]

最后简化成这样是可行的

RewriteEngine On
RewriteRule ^(?!resource).*$ index.php [PT,L]

最后简化成这样是可行的

RewriteEngine On
RewriteRule ^(?!resource).*$ index.php [PT,L]


上面能让resource.html通过,改成下面的
RewriteEngine On
RewriteRule ^(?!resource /).*$ index.php [PT,L]
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn