通过htaccess重写URL与同一页面的多个版本

时间:2013-04-17 05:12:29

标签: php apache .htaccess joomla

所以我做了很多研究,但由于我很擅长操纵.htaccess,我真的找不到一个好的答案。

这是我的网站结构:

www.kanadax.ca/index.php 是着陆页。这是Guest用户(在Joomla发言中)在他们注册之前看到他们何时登陆页面。

www.kanadax.ca/index.php/anasayfa-2 是第1组用户的主页,即非付费注册人。

www.kanadax.ca/index.php/anasayfa-3 是第2组用户的主页,即付费注册人。

理想情况下,我想在网址栏中将所有这些都设为 www.kanadax.ca / 。服务器应该知道将哪一个发送给用户,但最终用户应该只看到www.kanadax.ca/。我不太确定这是否可行,所以这是我的第一个问题。如果是这样,.htaccess应该是什么样的?

如果无法做到这一点,我至少可以从每个中取出index.php吗?所以他们会

www.kanadax.ca/

www.kanadax.ca/anasayfa-2

www.kanadax.ca/anasayfa-3

现在当然,anasayfa-2和-3不是很好的做法(anasayfa = home)所以如果有人能指导我删除那些,如果不能简单地将所有这些显示为www,我会非常感激.kanadax.ca /

我希望我能够清楚地解释一下,但请不要犹豫提问。

2 个答案:

答案 0 :(得分:1)

这通常通过在Joomla的全局配置设置中启用Use URL RewritingSearch Engine Friendly URLs来解决。确保你有一个Joomla .htaccess文件。应该有一个提供的htaccess.txt文件,如果你没有,你可以复制到.htaccess。此外,在尝试检查更改之前,请确认已清除Joomla缓存并清除了浏览器缓存。

答案 1 :(得分:0)

您可以将index.php页面重定向到

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/ 
RewriteRule ^(.*)index\.php$ http://www.kanadax.ca/$1 [R=301,L]

althogh您无法将用户重定向到特定页面,因为信息存储在joomla会话中,您无法在htmlaccess基础上制定任何规则或条件。