1

我正在使用 Zend 路由器,因此 (/ 和 /index.php) 或 (/about 和 /index.php/about) 之类的内容在这里最终相同。

但是, /index.php/whatever 不应该存在,因为它是与 /whatever 完全相同的资源,因此重复没有意义。

我该如何避免这种情况?

甚至http://zendframework.com/manual/en/zend.controller.router.htmlhttp://zendframework.com/index.php/manual/en/zend.controller.router.html都存在。这根本没有任何意义...

4

2 回答 2

0

似乎您mod_rewrite的配置不正确(mod_rewrite在 Apache 中启用?是.htaccess configured properly?)。如果是的话,你根本不需要打字index.php

编辑:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^index.php [OR]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
于 2010-05-07T17:02:56.863 回答
0

1)不要链接到它(比如你问题中的网址),让它成为一个隐藏的功能。基本没关系
或2) 添加重写规则以从包含它的任何请求中
删除。/index.php您必须确保将其转发到index.php以便您仍然可以处理它,并且您可能希望发送以 3 开头的状态代码

于 2010-05-07T13:34:22.740 回答