2014-02-27 24 views
0

我幾乎沒有理解.htaccess,所以我想問一個誰有我應該怎麼做下面的。RewriteRule .htaccess路由一些鏈接

這些都是一些可能的聯繫:

root/alfa 
root/alfa/?a=1&b=4 
root/beta/?c=0 

我想這些鏈接顯示爲:

root/alfa/ 
root/alfa/?a=1&b=4 
root/beta/ 

,我想這樣的重定向: 一個我遇到的問題是用尾部斜線表示,索引不再找到我的CSS文件。

root/index.php?uri=alfa 
root/index.php?uri=alfa&a=1&b=4 
root/index.php?uri=beta&c=0 

請幫我出一些htaccess的代碼,因爲有這麼多的可能RewriteCond S和RewriteRule雖然不在這裏,我不知道哪一個是我可以使用。

回答

0

將這個代碼在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/.]+)/?$ /index.php?uri=$1 [L,QSA] 
  • 對CSS/JS在你的CSS使用絕對路徑,JS,圖片文件,而不是相對的。這意味着您必須確保這些文件的路徑始於http://或斜槓/
  • 或者你可以嘗試在你的頁面的HTML頭添加此:<base href="/" />
+0

是不是有沒有辦法繼續使用的鏈接相對路徑?此外,與''它不起作用。 – Steven

+0

在使用漂亮鏈接時總是更好地使用絕對鏈接。 – anubhava