>  기사  >  백엔드 개발  >  PHP目录里.htaccess 重定向到一个文件

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

WBOY
WBOY원래의
2016-06-23 13:54:081194검색

请问怎么配置.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]
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.