2012-08-28 42 views
1

我有我想要重定向到/s/somefile.php?s=30ec3629/s/30ec3629這樣的網址。重定向slug作爲非文件的參數

在同一目錄中還有其他文件,如果某個文件存在給定的請求,我不希望它重定向(即我不希望/u/some_img.gif重定向到/u/somefile.php?s=some_img.gif)。此重定向應該只發生在/s/目錄中。

什麼是.htaccess重寫規則我需要這個?

+0

我提醒你,這裏的人不喜歡嘗試之前問:| – Oussama

+0

哦,我試過了。我對htaccess重寫規則的嘗試變成了非常醜陋的混亂和雜亂,通常會產生500個服務器內部錯誤。你真的不想看到我寫的試圖讓這個工作的混亂。 – Erics

回答

2

在htaccess文件在/ S /目錄試試這個

RewriteEngine On 
RewriteBase /s/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ somefile.php?s=$1 [L,QSA] 
+0

我會把它放到'/ s/.htaccess'中,還是放到'/ .htaccess'中。我只想要在'/ s /'目錄內發生子彈重定向,但是你的代碼產生了一個404.如果有一個現有的文件,它就可以正常工作。 – Erics

+0

@Erics抱歉,我必須誤讀你的問題,看看編輯 –

+0

Mea culpa,我可以更清楚。新代碼非常好用,謝謝! – Erics