Php 使用.htaccess更改链接的外观

Php 使用.htaccess更改链接的外观,php,.htaccess,redirect,joomla,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”页面 我想这应该是重写规则而

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

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

我想这应该是重写规则而不是重定向,但我几乎不知道我在说什么。
有人能告诉我我必须在.htaccess文件中放置什么代码才能更改此设置吗?我相信.htacces将是实现我所需的最佳方式,但如果您有其他想法,我很高兴听到。

首先确保您了解.htacces的作用

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

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

如果您希望“培训”您的用户,您可以在这之前添加一个步骤来重定向URL。这是非常棘手的,虽然如果你不小心,你可能会陷入一个循环

  • 用户单击mysite.com/blah/blah/eddie
  • apache重定向到mysite.com/eddie
  • (浏览器发出第二个请求,用户看到URL更改)
  • apache查看mysite.com/eddie并加载底层mysite.com/blah/blah/eddie

  • 一个更简单的解决方案可能是调整joomla社区代码以生成短URL(mysite/eddie),并使用apache直接调用插件(mysite/components/communit/index.php?user=eddie

    我想你链接我的页面上最好的选择是这个。在#上重写引擎,首先尝试在dir1/…#…中找到它,如果找到了,停下来高兴一下:重写cond%{DOCUMENT_ROOT}/component/comprofiler/userprofile/%{REQUEST_URI}-f RewriteRule^(+)oveemo.com/$1[L]#否则请继续使用其他别名或ScriptAlias指令等。重写规则^-[PT]感谢您的回复我尝试了这个,但除了主页mysite.com之外,我的每个页面都会出现404错误。您能看到我在代码中犯了什么错误吗?