使用.htaccess更改链接的外观

时间:2012-03-05 00:35:35

标签: php .htaccess redirect joomla

我有一个基于Joomla的社区网站,并且在后端激活了搜索引擎友好的URL,我的个人资料位于mysite.com/community/profile/user/"username“

除非找到包含“community / profile / user”的URL,否则我需要htaccess文件不执行任何操作。如果找到该字符串,则应将链接更改为mysite.com/"username“,但实际上显示的页面为mysite.com/community/profile/user/"username”

我认为这将是重写规则而不是重定向,但我几乎不知道我在说什么。 有人可以告诉我,我必须在我的.htaccess文件中放置哪些代码才能更改此内容?我相信.htacces是做我需要的最好的方式,但如果你有另一个想法,我很高兴听到它。

1 个答案:

答案 0 :(得分:1)

首先要确保你理解.htaccess的角色。

仅在发出请求时才会读取。所以它不会改变joomla生成的URL。

但是,您可以允许像mysite.com/eddie这样的网址实际从mysite.com/blah/blah/eddie中提取内容

http://httpd.apache.org/docs/current/rewrite/remapping.html

如果您希望“培训”您的用户,可以在此之前添加一个步骤来重定向该网址。这变得非常棘手,但好像你不小心你可以陷入困境。

  1. 用户点击mysite.com/blah/blah/eddie
  2. apache重定向到mysite.com/eddie
  3. (浏览器发出第二个请求,用户看到网址更改)
  4. apache看到mysite.com/eddie并加载底层的mysite.com/blah/blah/eddie
  5. 更简单的解决方案可能是调整joomla社区代​​码以生成短网址(mysite / eddie)并使用apache直接调用插件(mysite / components / communit / index.php?user = eddie < / p>