表达式引擎中的mod rewrite:删除URL中的目录

表达式引擎中的mod rewrite:删除URL中的目录,url,mod-rewrite,Url,Mod Rewrite,我在expression engine CMS中工作,我有一些重写代码来从URL中删除index.php,但在我的一些URL上,我想删除文件名之前的目录/site/ 就像我有/site/pennsylvania_attorneys.html 我想删除站点部分,并将其读取为/pennsylvania\u attorneys.html 我现在拥有的当前mod重写代码是: RewriteEngine on RewriteCond $1 !^(images|css|themes|tools|admin|

我在expression engine CMS中工作,我有一些重写代码来从URL中删除
index.php
,但在我的一些URL上,我想删除文件名之前的目录
/site/

就像我有
/site/pennsylvania_attorneys.html

我想删除站点部分,并将其读取为
/pennsylvania\u attorneys.html

我现在拥有的当前mod重写代码是:

RewriteEngine on
RewriteCond $1 !^(images|css|themes|tools|admin|inc|js|cgi-bin|swf|themes|pennsylvania_attorneys_tpl\.html|license\.txt|attorney-tpl\.html|favicon\.ico|robots\.txt|index\.php) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]

有什么想法吗?

好吧,你可以把这些都删掉,然后简单地做一下:


RewriteEngine On
RewriteRule ^.*$ site/$0 [L,QSA]
您不必从URL中“删除”index.php,您永远也不能将它放在那里。可以很好地工作。

试试这些规则:

RewriteCond %{THE_REQUEST} ^GET\ /site/
RewriteRule ^site/(.*) /$1 [L,R=301]
RewriteRule !^site/ site%{REQUEST_URI}
这将把
/site/..
的任何请求从外部重定向到
/..
上,如果请求时缺少,则在内部重新发送