Apache 如果访问者通过浏览器url调用html文件,则将优先于index.php

Apache 如果访问者通过浏览器url调用html文件,则将优先于index.php,apache,.htaccess,joomla,Apache,.htaccess,Joomla,我有一个joomla站点,它以一个index.php文件开始,该文件提供页面 但是,我想包括一个非php页面,如果有人在浏览器中键入URL时包含该页面,则该页面将优先提供 比如说。如果页面是bananas.html,并且用户键入www.domainname.com/bananas,我希望该页面出现,而不是任何Joomla页面 我还希望删除“html”,因此页面显示为domainname.com/bananas(而不是www.domainname.com/bananas.html) 当然,如果他们

我有一个joomla站点,它以一个index.php文件开始,该文件提供页面

但是,我想包括一个非php页面,如果有人在浏览器中键入URL时包含该页面,则该页面将优先提供

比如说。如果页面是bananas.html,并且用户键入www.domainname.com/bananas,我希望该页面出现,而不是任何Joomla页面

我还希望删除“html”,因此页面显示为domainname.com/bananas(而不是www.domainname.com/bananas.html)

当然,如果他们自己进入,joomla网站会像往常一样出现

我只有一页,我希望这一切发生

这里有一个关于stackoverflow的类似问题,请参考:

这是一个apache站点,我可以通过ftp访问web根目录。因此我可以修改htacess文件。该站点位于大学服务器上,我可以让It人员对任何服务器文件进行任何更改

谢谢你在这方面的帮助

罗比

以下是有关站点和服务器的信息: PHP构建于Linux 2.6.32-431.11.2.el6.i686#1 SMP周一至三月3日13:33:00 EST 2014 i686 数据库版本5.5.38-MariaDB-log 数据库排序拉丁1_瑞典_ci PHP版本5.3.3 Web服务器Apache/2.2.15(红帽) Web服务器到PHP接口apache2handler Joomla!版本Joomla!3.1.5稳定[Ember]01-August-2013 14:00 GMT Joomla!平台版本Joomla Platform 12.2.0稳定[Neil Armstrong]2012年9月21日00:00 GMT
用户代理Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/36.0.1985.125 Safari/537.3

使用“重写”应该做到:


RewriteRule^bananas/(\d+*$)./bananas.html在这里没有多大用处,因为您想加载joomla,除非您有很好的理由不加载它。也就是说,当用户请求服务器上存在的文件时。您可以使用mod_rewrite()来完成此操作

以下规则检查当前请求的文件是否不存在,然后检查附加了
.html
的当前请求的文件是否存在。如果两者都为真,则会在内部将请求重写到该文件。这意味着您将在浏览器中看到
http://example.com/bananas
并将加载
http://改为example.com/bananas.html
。如果您请求
http://example.com/
,它将检查
http://example.com/.html
,它不存在,导致此规则不匹配。请将此规则添加到www根目录中的
.htaccess
文件中的任何其他规则之前

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f
RewriteRule ^ %{REQUEST_URI}.html [L]

你好,Sumari8,谢谢。我会检查你的文档链接。问题:既然我只想让它对一个特定的文件“bananas.html”起作用,我是否需要将bananas.html放在括号中,并在括号中包含文档根信息?以及重新请求URL而不是括号等?总之,我需要使用“括号”吗占位符而不是特定文件。。。?