ISAPI ZEND url 重写在 url 中添加额外的“/index.php/”
Posted
技术标签:
【中文标题】ISAPI ZEND url 重写在 url 中添加额外的“/index.php/”【英文标题】:ISAPI ZEND url rewrite adding extra "/index.php/" into url 【发布时间】:2010-11-30 14:14:43 【问题描述】:我们最近在我们的服务器上重新安装了我们的网站,系统管理员说这是一个精确的重建,在我看来确实是这样,但是发生了一些不同的事情。我最初并未开发该网站,而那些开发过的人已不再可用。
现在是管理网站的网址
//admin.site.com/index.php/schedules
过去是,应该是
//admin.site.com/schedules
额外的 index.php 被插入到 URL 中。但是管理站点中的所有链接都不包含 index.php,因此它们不起作用。如果将 index.php 插入任何 url,它就可以工作。这个 index.php 是从哪里来的,我如何从重写规则中消除它,以便链接能够正常工作。
这是我的 httpd.conf 文件的内容:
# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.56
# turn on rewriting RewriteEngine On RewriteBase /
# for all files not found in the file system,
# reroute to "index.php" bootstrap script,
# keeping the query string intact.
RewriteCond %HTTP_HOST ^admin.site.com$
RewriteCond %REQUEST_FILENAME -s [OR]
RewriteCond %REQUEST_FILENAME -l [OR]
RewriteCond %REQUEST_FILENAME -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %HTTP_HOST ^admin.site.com$
RewriteRule ^.*$ index.php [NC,L]
谢谢!任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您需要实现并启用 ApacheModrewrite。然后在 admin.site.com 文件夹中放置一个 .htaccess 文件 其内容将是:
RewriteEngine On
RewriteCond %REQUEST_FILENAME -s [OR]
RewriteCond %REQUEST_FILENAME -l [OR]
RewriteCond %REQUEST_FILENAME -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
【讨论】:
以上是关于ISAPI ZEND url 重写在 url 中添加额外的“/index.php/”的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 2003 上使用 .htaccess 的 zend url 重写问题
从 HTACCESS 文件中的所有 ISAPI 重写 3 规则中排除目录