2014-01-30 73 views
0

我搜索了很多,但沒有找到任何東西。.htaccess中的數字值RewriteRule

我正在使用codeigniter。 我目前的網址是:
base_url/content_controller/content_download/download_id

但是,我需要做的是:
base_url/download_id

爲卸載ID數字,我的.htaccess不起作用。

RewriteRule ^download/content/2$ 2 [L] 

請告訴我該怎麼解決,如果有任何方式做沒有的.htaccess。

回答

0

感謝喬恩, 我嘗試了幾次,但多次規則衝突。所以我以另一種方式來做。 當我點擊網址http://www.example.com/2/它顯示未找到。 所以,我使用404控制器來處理數值。最後我做到了。

0

你的意思是這樣的嗎?

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([0-9]+)$ /download/content/$1 [L] 

所以,如果你要求http://example.com/123,該URI將被改寫到/download/content/123

+0

謝謝。但在這裏顯示,內部服務器錯誤。我完整的.htaccess是:1 的RewriteCond $ RewriteEngine敘述^(指數\ .PHP |資源|機器人\ .TXT) 的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重寫規則^([0!! -9] +)$/download/content/$ 1 [L] RewriteRule ^(。*)$ index.php/$ 1 [L,QSA] – Shuvo

+0

@Shuvo您應該將上述規則放在任何規則之前你的htaccess文件。你不能在一些條件之間混合它,這會破壞一切。 –

+0

感謝您的幫助,我嘗試了很多,但無法實現。你的RewriteERule和Codeigniter的RewriteRule是衝突的。你的代碼運行良好。但我需要以這種方式管理htaccess,它可以同時處理codeigniter和numeric值。我的代碼爲CI URL是:RewriteEngine on RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule ^(。*)$ index.php/$ 1 [L,QSA]請幫助我。謝謝。 – Shuvo