2014-01-26 38 views
5

我的網站是v2.example.com,我正在嘗試編寫.htaccess規則但無法使用。無法在我的php網站的.htaccess中寫入重寫規則

我想這一點:v2.example.com/ABCDEFGH

而且我想要得到的值ABCDEFGH作爲參數就像是v2.example.com/index.php?id=ABCDEFGH

任何人都可以幫我解決這個問題。

我嘗試這樣做:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^(.*) index.php?id=$1 [L] 
</IfModule> 

請幫助我。

回答

1

有這樣的規則:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# external redirect from actual URL to pretty one 
RewriteCond %{THE_REQUEST} \s/+index\.php\?id=([^\s&]+) [NC] 
RewriteRule^%1? [R=302,L] 

# internal forward from pretty URL to actual one 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?id=$1 [L,QSA] 
</IfModule> 
1
RewriteEngine on 
RewriteRule ^(.*)$ index.php?id=$1 [L,QSA] 

這會崩潰,因爲它進入無限循環,爲的index.php被進一步改寫到index.php?ID =的index.php等

解決方案

RewriteEngine on 
RewriteRule ^([^_]*)$ _index.php?id=$1 [L,QSA] 

那是創建頁面_index.php,並將所有沒有_的頁面重寫到此頁面,這樣它就不會進入無限循環,如果您認爲在需要_參數的情況下可以選擇~而不是_