重写url,其中部分已存在

时间:2016-07-04 12:46:11

标签: .htaccess mod-rewrite

我正在尝试重写一个网址,应该很简单,但我无法绕过它。

我的htaccess文件:

DirectoryIndex
RewriteEngine  on

#Indexes uitzetten
Options -Indexes

#Cross site access toestaan
Header set Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" 

#Website
DirectoryIndex index.php

RewriteRule         ^actueel/(.*).html portfolio.php?alias=$1 [L]
RewriteRule         ^info/(.*).html catlisting.php?alias=$1 [L]
RewriteRule         ^nieuws/(.*).html nieuws.php?alias=$1 [L]
RewriteRule         ^(.*).html content.php?alias=$1 [L]

我正在使用joomla CMS,但由于更新到最新版本,我需要完全输入网址以便在正确的页面上结束(我以前只能输入websiteurl / cms我必须输入websiteurl / CMS /管理员)

如何重写它,所以当url以/ cms /(或/ cms)结尾时,它会在最后添加/ adminitrator?

当我尝试以下操作时,我最终陷入了无限循环:

RewriteRule         ^cms cms/administrator [L]

1 个答案:

答案 0 :(得分:1)

^cms的问题是,它与以cms开头的任何内容匹配,也与cms/administrator匹配。要仅匹配cms,您必须在结尾^的{​​{1}} 开始时将其锚定,例如

$