joomla .htaccess文件需要重写规则说明

时间:2010-02-08 20:00:31

标签: .htaccess mod-rewrite joomla

我正在尝试理解joomla的.htaccess文件中的以下几行。请有人解释一下

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} !^/index.php
#RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
#RewriteRule (.*) index.php
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

我想做一些自定义重定向

例如,

如果一个网址就像这个example.com/subdirectory1我想重定向到一些文章。尝试在.htaccess文件中添加此行

RewriteRule ^somepath index.php?option=com_content&view=article&id=1&Itemid=12

但由于某种原因,该文章显示了标题,即使它不应该显示。当我使用长URL字符串访问时,如果我重写它出现标题不会出现。

请帮忙。

-Vivek

3 个答案:

答案 0 :(得分:2)

第一篇文章中的规则效率很低。对于命中服务器的每个URL请求执行两次非常慢的磁盘读取,检查请求是否解析为物理文件或文件夹。即使很明显要重写请求(无扩展URL)或不打算重写(图像,CSS文件等),也会执行这些检查。

通过更改条件的顺序,可以消除绝大多数请求的非常慢的磁盘读取。这些更改出现在随Joomla 1.5.23和1.6.2开发的.htaccess文件中,该文件将与较旧的Joomla版本一起使用。

将旧版本的Joomla更新为较新的软件包不会自动更新.htaccess文件。新的.htaccess文件以htaccess.txt的形式发布,因此需要手动编辑文件名以进行设置。

答案 1 :(得分:0)

这些行在开头用#字符注释掉,所以它们什么都不做。如果取消注释,它们会将所有文件请求发送给Joomla的index.php,以便进一步处理,而不能找到Apache无法找到真实物理文件的文件。

不确定你的意思是出现“标题”。什么头衔?

答案 2 :(得分:0)

应该在菜单项下控制Joomla中的页面标题。如果您编辑该菜单项,右侧有一个“系统”选项卡,在那里您可以设置页面标题。

请注意,它会改变您链接到该组件中不同文章/图片/视频的时间。为了更好地保存您网站上的页面标题,您可能需要转到Joomla扩展目录并查找一些可以更好地控制页面标题的插件。