2013-04-10 80 views
0

我一直在挣扎了一段时间我的htaccess的文件..我有以下网址:htaccess的国防部重写文件夹隐藏

http://www.mysite.com/folder1/system/folder2/file.php

我设法隐藏扩展名.php但我现在想隐瞒系统/。 我现在下面有: (Mod Rewrite Hide Folder

RewriteEngine on 
RewriteRule ^/(.*)$ /system/$1 

然而,这无法工作。

谢谢。

编辑:

从测试中所有没有解决方案工作,我有一个强烈的感觉,我的.htaccess是在错误的目录。目前的.htaccess是在文件夹1目录..不根,而不是在系统中,而不是在文件夹2 ..

+0

所以你想要的网址? – 2013-04-10 12:16:18

+0

例如:http://www.mysite.com/folder1/folder2/file.php - 没有/ system/ – Sino 2013-04-10 12:16:49

+0

检查我的答案 – 2013-04-10 12:18:24

回答

1

试试这个htaccess的代码

RewriteEngine on 
RewriteBase /folder1 
RewriteRule ^folder2/(.*).php$ system/folder2/$1.php [L] 
+0

我是否必须为每一个文件制定规则? – Sino 2013-04-10 12:25:59

+0

现在检查我的答案所有文件 – 2013-04-10 12:30:56

+0

@Sinan它工作与否? – 2013-04-10 12:36:47

0

试试这个

RewriteEngine on 

RewriteRule ^/([^/]+)/(.*)$ $1/system/$2 [QSA,L] 

编辑:

RewriteCond %{REQUEST_URI} ^/folder1/system/(.*)$ 
RewriteRule^- [S=1,L] 
RewriteCond %{REQUEST_URI} ^/folder1/(.*)$ 
RewriteRule^/folder1/system/%1 
+0

这个规则doest不会使系统停机,但也不会删除/系统/ – Sino 2013-04-10 12:23:47

+0

请参阅编辑htaccess – 2013-04-10 12:52:01

0

这个替换您的规则:

RewriteCond %{REQUEST_URI} !/system/ [NC] 
RewriteRule ^([^/]+)/(.*)$ /$1/system/$2 [L] 
+0

请求的URL /系统/系统/信息/信息.php在此服务器上未找到。 – Sino 2013-04-10 12:23:02

+0

作出编辑,你现在可以尝试。 – anubhava 2013-04-10 12:42:51

0
RewriteEngine On 
RewriteRule ^(.*)$ %{REQUEST_URI}/system/$1 [R,NC,L] 

试试这个。

+0

此规则将网址更改为完整的网址。 – Sino 2013-04-10 12:24:16

+0

这是非常糟糕的解决方案 – MmParvin 2016-01-09 12:20:19

0

请记住,您需要将.htaccess-文件放入folder1-directory!我想你可能已经把它放在你网站的根目录下。

此外,请小心不要使用领先的/。

试试这个:

RewriteEngine on 
RewriteRule ^/(.*) system/$1 
+0

我的htaccess文件位于folder1目录中,不在根目录中。 – Sino 2013-04-10 12:35:04

+0

编辑我的答案。试一试 – 2013-04-10 12:40:17