.htaccess Joomla不带index.php(301重定向)

.htaccess Joomla不带index.php(301重定向),.htaccess,joomla,.htaccess,Joomla,我最近在Joomla开始了这个项目。我不得不从中删除index.php(这是配置设置中的一些复选框)。我已经找到了做这件事的方法。目前所有的URL都是在没有index.php的情况下创建的 然而,我可以直接进入网址,它不是重写到。 若我有一个菜单,那个么URL是正确创建的(http://mywebsite.com/article-name -因此没有index.php) 因此,问题是: 如何为带有index.php的网站创建htaccess重定向到不带index.php的网站。由于您在内部将内容

我最近在Joomla开始了这个项目。我不得不从中删除index.php(这是配置设置中的一些复选框)。我已经找到了做这件事的方法。目前所有的URL都是在没有index.php的情况下创建的

然而,我可以直接进入网址,它不是重写到。 若我有一个菜单,那个么URL是正确创建的(http://mywebsite.com/article-name -因此没有index.php)

因此,问题是:
如何为带有index.php的网站创建htaccess重定向到不带index.php的网站。

由于您在内部将内容路由到index.php,您必须与实际请求相匹配:

RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index\.php/[^\ ]+
RewriteRule ^index\.php/(.*)$ /$1 [L,R=301]

转到全局配置页面并进行以下更改:

  • 启用SEF(搜索引擎友好型)URL选项
  • 对Apache mod_rewrite说是
  • 说“不”将后缀添加到URL
  • 对Unicode别名说不
  • 拒绝在页面标题中包含站点名称
  • 同时将htaccess.txt更改为.htaccess。现在在“重定向到这里”的位置添加新的重定向代码

    代码

    ####开始-301重定向 #

    重写cond%{THE_REQUEST}^[A-Z]{3,9}\/([^/]+/)*(index | home.html?\HTTP/

    重写规则^([^/]+/)*)(索引| home.html?$$1[R=301,L]

    #

    重写cond%{THE_REQUEST}^职位

    重写cond%{THE_REQUEST}^[A-Z]{3,9}\/([^/]+/)*index.php\HTTP/

    重写cond%{SERVER_PORT}>s^(443>(s)|[0-9]+>s)$

    重写规则^([^/]+/)*)index.php$http%2://www.example.com/$1[R=301,L]

    #

    重写cond%{HTTP_HOST}^(www.example.com)$

    重写规则(.*)$1[R=301,L]

    #

    ####结束-301重定向 注意:使用您的站点名称删除www.example.com