.htaccess 从URL中删除index.php,但保持旧链接正常工作

.htaccess 从URL中删除index.php,但保持旧链接正常工作,.htaccess,mod-rewrite,url-rewriting,rewrite,ezpublish,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,Ezpublish,我正在尝试从URL中删除index.php,该URL使用EZPublish网站上的.htaccess示例,ForceVirtualHost=true。问题是指向index.php的旧链接不再有效(从搜索引擎链接时会出现问题) 我试图通过在.htaccess中使用重写规则来解决这个问题,但我无法让它正常工作。我的一些尝试是: 尝试1 这种尝试会导致无限循环 尝试2 也不起作用:-( 注意,“RewriteRule.*index.php[L]”是使EZPublish中的虚拟主机设置正常工作所必需的

我正在尝试从URL中删除index.php,该URL使用EZPublish网站上的.htaccess示例,ForceVirtualHost=true。问题是指向index.php的旧链接不再有效(从搜索引擎链接时会出现问题)

我试图通过在.htaccess中使用重写规则来解决这个问题,但我无法让它正常工作。我的一些尝试是:

尝试1 这种尝试会导致无限循环

尝试2 也不起作用:-(

注意,“RewriteRule.*index.php[L]”是使EZPublish中的虚拟主机设置正常工作所必需的

任何帮助都将不胜感激

Vivienne

试着检查以下各项:

请尝试检查以下选项:


在设置/override/site.ini.append.php中:

 [SiteAccessSettings]
 ForceVirtualHost=true

在设置/override/site.ini.append.php中:

 [SiteAccessSettings]
 ForceVirtualHost=true

嗨,Gumbo,谢谢你的回答,但是当我尝试你的建议时,我得到了一个内部服务器错误(遗憾的是,错误日志中没有显示,所以我没有关于抛出错误原因的更多信息)。嗨,Gumbo,谢谢你的回答,但是当我尝试你的建议时,我得到了一个内部服务器错误(遗憾的是,它没有出现在错误日志中,因此我没有关于抛出错误原因的更多信息)。
RewriteCond %{THE_REQUEST} ^GET\ /index\.php
RewriteRule ^index\.php/?([^/].*)?$ /$1 [L,R=301]

RewriteRule !^index\.php$ index.php [L]
 [SiteAccessSettings]
 ForceVirtualHost=true