2012-11-21 49 views
1

我在遇到問題時遇到了問題rewrite如何將somedomain.com/free/single/result_id重寫爲somedomain.com/f/single/result_id

我試圖讓這個網址somedomain.com/f/single/1將從somedomain.com/free/single/1

搶的結果我已經試過以下。

RewriteRule ^/f$ /free$1 [L]  

這是我與卡米爾提出的建議現有的.htaccess的副本...

RewriteEngine on 
RewriteCond $1 !^(index\.php|assets|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 
RewriteRule ^f/(.+)$ /free/$1 [L] 

我想知道的問題是,我已經在/免費之前刪除的index.php ?

任何人都可以幫助我理解我做錯了什麼嗎?

回答

1

你看以下規則:

RewriteRule ^f/(.+)$ /free/$1 [L] 

第一部分^f/(.+)$regular expression - 它匹配的所有字符串與/f/和存儲靜止開始到$1 ...那麼它改寫成/free/和存儲休息在$1

+0

非常感謝您的幫助,儘管它似乎仍然沒有工作。這是我完整的.htaccess文件,以確保它們之間沒有衝突? ! 'RewriteEngine敘述上 的RewriteCond $ 1→(索引\ .PHP |資產|機器人\ .TXT) 重寫規則^(。*)$的index.php/$ 1 [L] 重寫規則^/F /(.+ )$ /免費/ $ 1 [L]' 如果我去somedomain.com/free/single/1它的作品,然而somedomain.com/f/single/1返回404 –

+0

我的錯誤 - 我把你的一部分正則表達式並沒有意識到它。它不應該以'/'開始 - 看到更新的答案 –

+0

奇怪,仍然是同樣的問題。再次感謝您的幫助。對此,我真的非常感激。 –

相關問題