首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用htaccess路由index.php

问用htaccess路由index.php
EN

Stack Overflow用户
提问于 2014-01-09 00:21:56
回答 1查看 797关注 0票数 0

我正在win7上涉水,以防万一。我正在尝试通过route.php路由所有请求以获得干净的URL。下面是我的htaccess

代码语言:javascript
复制
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_URI}  !(auth|folder2) [NC]
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^(.*) ./route.php?path=$1 [L]

正如您所看到的,这个规则应该适用于所有文件,当我在我以前的wamp安装上运行它时,它就适用了。现在,在将文件复制到新系统后,由于某种原因,该规则似乎适用于除 index.php以外的所有链接。因此,如果我尝试http://localhost/proj,在新系统中没有路由。有什么想法吗?

在有人问之前,是的,rewrite_module是打开的,htaccess正在被读取和执行,因为它适用于所有其他链接,比如http://localhost/proj/users,还因为如果我尝试在htaccess中放置垃圾值,它会抛出一个很好的‘内部服务器错误’。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-09 00:29:05

我猜那个文件夹中有一个index.php,并且这个条件:

代码语言:javascript
复制
RewriteCond %{SCRIPT_FILENAME} !-f  

只有当文件不存在时,...tells apache才会执行重写。

我建议或重命名该文件,因为您需要该条件来路由静态资产,如图像、脚本等。

如果该文件夹中没有index.php (或index.html),只需将route.php定义为该目录中的默认文件。在.htaccess中:

代码语言:javascript
复制
DirectoryIndex route.php index.php index.html index.htm

(请注意,这也适用于任何子目录)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21009397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档