2013-04-10 81 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