.htaccess:页面被多次调用

时间:2012-11-09 22:48:28

标签: php apache .htaccess

我创建了一个我在本地运行的网站。我配置了我的主机文件和虚拟主机:

Adress: website.dev
DocumentRoot:  /www/website/public_html

我可以正确访问网站。

在public_html文件夹中有以下文件:

index.php
.htaccess

我尝试配置.htaccess文件,但我对此并不是很有经验,所以也许我做错了。

这个想法是每个请求,例如'website.dev/users'或'website.dev/login'都由索引文件处理,因此我可以处理给定的URL。 (我认为URL:website.dev不需要重写,因为它直接导致index.php,因为它是documentRoot)

这很好但我注意到,当我在.htacces文件中使用rewriteRule时,我的页面被多次打开了。

这是我的.htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f


RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php  [NC,L]

当我注释掉所有rewriteRule行,并转到:website.dev时,我看到我的网页只被调用一次。 .htaccess文件中的内容会导致双页调用吗?

2 个答案:

答案 0 :(得分:1)

不需要某些条件。

你正在测试:

是文件大小> 0 OR是符号链接,OR是目录OR是常规文件。

我有以下重写/ users / id:index.php?url = users / id

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule    !\.(jpg|css|js|gif|png)$    public/    [L]
RewriteRule !\.(jpg|css|js|gif|png)$ public/index.php?url=$1

答案 1 :(得分:0)

<强>解决方案:

我通过查看apache日志文件找到了问题,所以我注意到webserver(wamp)查找了一个.ico文件(wamp logo)以显示在浏览器的addresbar中,但是在我的项目中这个文件不存在,创建了一个404,所以再次调用索引文件,我在我的项目文件夹中创建了所需的ico文件,一切都像魅力一样。