2013-07-17 68 views
2

我有一個PHP腳本來生成佔位符圖像,很像Placehold.it服務。我想要一個定製的防止免費在線服務經常發生的延遲。.htaccess - 受影響文件夾的可變位置

我已將此腳本包含在我的個人前端樣板文件夾./assets/placeholder/中。這就是爲什麼我需要一個適應佔位符文件夾當前位置的.htaccess,因爲它不一定是根。

腳本採用以下參數:d(尺寸,例如400,250x100。),BG(背景顏色),顏色(文字顏色)和文本

理想情況下,url的工作方式如下./assets/placeholder/300x200/EAEAEA/333333?text=Test,文本是一個常規的GET var。

這是前段時間我放在一起的.htaccess。它的工作原理提供的文件是在根目錄:

RewriteEngine on 
RewriteRule ^#([^/]*)/([^/]*)/([^/]*)$ index.php?d=$1&bg=$2&color=$3 [QSA] 

在一個句子,如果我從根移動這個文件(的index.php),以/some/other/dir/index.php,我想要的.htaccess文件仍然可以在不必更改RewriteBase或任何其他功能的情況下運行。

我已經找到this article on the matter,但是我沒有足夠的知識來解決這個問題。

在此先感謝!

更新:我決定將.htaccess文件移動到我的項目的根目錄。唯一不起作用的是在最後添加/,但在之前?

## Turn mod_rewrite engine on ## 
RewriteEngine On 

# No trailing/? 
RewriteCond %{REQUEST_URI} !(.*)/$ 
# Add the slash. 
RewriteRule assets/placeholder/(.*)$ assets/placeholder/$1/ [L,R=301] 

# Map parameters to get vars 
RewriteRule assets/placeholder/?([^/]*)/?([^/]*)/?([^/]*)/$ assets/placeholder/index.php?d=$1&bg=$2&color=$3 [QSA] 

回答

0

更改此網址.assets/placeholder/300x200/EAEAEA/333333&text=Test.assets/placeholder/300x200/EAEAEA/333333?text=Test如果你想QSA標誌運行。

而且試試這個代碼:

RewriteEngine on 
RewriteRule ^assets/placeholder/([^/]*)/([^/]*)/([^/]*)$ index.php?d=$1&bg=$2&color=$3 [QSA] 

嘗試也此代碼爲重定向的URL與最終斜線:

RewriteCond %{REQUEST_URI} !^([^/]*)/$ 
RewriteRule assets/placeholder/(.*)$ assets/placeholder/$1/ [L,R=301] 
+0

是在根目錄下的index.php文件? –

+0

好的。我的代碼可以幫助你? –

+0

更新了我原來的帖子以包含工作的.htaccess代碼。唯一缺少的是在最後添加一個/,但在?之前。我從其他地方複製了一些代碼,但我無法適應我的情況。 – Florian

相關問題