首頁  >  文章  >  後端開發  >  PHP目录里.htaccess 重定向到一个文件

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

WBOY
WBOY原創
2016-06-23 13:54:081192瀏覽

请问怎么配置.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