0

我願做一招是這樣的:的.htaccess重寫文件夾,並設置環境PARAMS

我有這些文件夾

folder_dev 
folder_live 

這個代碼庫:

folder 

所有文件夾位於同一級別。

我想

  1. 重定向folder_devfolder和環境PARAM設定的主題爲「開發」
  2. 重定向folder_live相同的folder而設置的環境PARAM主題,以「活」

回答

2

如果你想擁有的物理目錄,你如下需要在每一個.htaccess文件,設置:

在/folder/.htaccess:

SetEnvIf REDIRECT_THEME (.*) THEME=$1 

在/folder_dev/.htaccess:

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^(.*?)(?:folder_dev) 
RewriteRule .* %1folder/$0 [E=THEME:dev] 

在/folder_live/.htaccess:

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^(.*?)(?:folder_live) 
RewriteRule .* %1folder/$0 [E=THEME:live] 

您需要的SetEnvIf之後指令在代碼庫中的文件夾,因爲mod_rewrite的設置環境變量的REDIRECT_,這需要從REDIRECT_THEME到主題最終翻譯總是前綴。

您也可以將它們合併到上面目錄中的單個.htaccess文件中(本例中爲第四級),如果您因其他原因不需要它們,您可以擺脫folder_dev和folder_live目錄:

SetEnvIf REDIRECT_THEME (.*) THEME=$1 

RewriteEngine On 
RewriteRule ^folder_dev/(.*)$ folder/$1 [E=THEME:dev] 
RewriteRule ^folder_live/(.*)$ folder/$1 [E=THEME:live] 

# Alternatively just: 
# RewriteRule ^folder_([^/]+)/(.*)$ folder/$2 [E=THEME:$2] 
+0

查找需要相對於當前文件夾而不是域根目錄的`/文件夾'時出現問題。這一切都將進入文件夾的第5級。 – Pentium10 2011-02-10 13:27:42