我有一个joomla网站,它以一个传递页面的index.php文件开头。
但是我想要包含一个非php页面,如果有人在浏览器中输入URL时将其包含在内,将会优先发送。
例如。如果该页面是bananas.html且该人员类型为www.domainname.com/bananas,我希望该页面出现而不是任何Joomla页面。
我还想删除“html”,因此该页面显示为domainname.com/bananas(而不是www.domainname.com/bananas.html
当然,如果他们自己输入http://www.domain.com,那么joomla网站会照常显示。
我只有一个页面,我希望这种情况发生。
这里有一个关于stackoverflow的类似问题,这应该有助于参考:
Server page priorities between index.php or index.html
这是一个apache站点,我有ftp访问web根目录。所以我可以修改htacess文件。该站点位于大学服务器上,我可以让IT人员对任何服务器文件进行任何更改
感谢您提供任何帮助,
Rowby
以下是有关网站和服务器的信息: PHP构建于Linux 2.6.32-431.11.2.el6.i686#1 SMP Mon Mar 3 13:33:00 EST 2014 i686 数据库版本5.5.38-MariaDB-log 数据库整理latin1_swedish_ci PHP版本5.3.3 Web服务器Apache / 2.2.15(Red Hat) WebServer到PHP接口apache2handler 的Joomla!版本Joomla! 3.1.5稳定[Ember] 01-August-2013 14:00 GMT 的Joomla!平台版本Joomla平台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
答案 0 :(得分:0)
使用Rewrite应该这样做:
RewriteRule ^香蕉/(\ d +)* $ ./bananas.html
答案 1 :(得分:0)
DirectoryIndex
在这里没什么用,因为你想加载joomla,除非你有充分的理由不加载它。也就是说,当用户请求服务器上存在的文件时。您可以使用mod_rewrite(docs)完成此操作。
以下规则检查当前请求的文件是否不存在,然后检查附加了.html
的当前请求文件是否存在。如果这两个都为真,则它会在内部将请求重写为该文件。这意味着在浏览器中您会看到http://example.com/bananas
,而它会加载http://example.com/bananas.html
。如果您请求http://example.com/
,它将检查不存在的http://example.com/.html
,这会导致此规则不匹配。在您的www-root中.htaccess
文件中的任何其他规则之前添加此规则。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f
RewriteRule ^ %{REQUEST_URI}.html [L]