2014-10-10 85 views
0

我的網站有兩個部分使用id來唯一標識itens。如何在用戶點擊它們時使用mod_rewrite更改兩個URL?簡單的使用方法mod_rewrite

URL1: http://www.example.com/category.php?id=1

URL2: http://www.example.com/article.php?id=1

想:

URL1:http://www.example.com/category/1

URL2:http://www.example.com/article/1

下面我所取得的代碼是什麼我想但失去了CSS風格:

RewriteEngine On 
RewriteRule ^category/([a-z0-9]+)$ category.php?id=$1 
RewriteRule ^article/([a-z0-9]+)$ article.php?id=$1 

感謝任何幫助!

+0

包括「CATEG ory /「和」article /「部分,以便將它們區分開來。 – showdev 2014-10-10 01:25:18

+0

@showdev我已經嘗試過,並沒有工作 – Andre 2014-10-11 04:14:38

回答

0

爲了解決這個問題,我的鏈接樣式和js源的每個路徑前加(/):

前:

<link type = "text/css" rel = "stylesheet" href = "css/style.css"> 
<script src="js/bootstrap.min.js"></script> 

<link type = "text/css" rel = "stylesheet" href = "/css/style.css"> 
<script src="/js/bootstrap.min.js"></script> 
0

可以達到這種效果這樣做:

RewriteEngine On 
RewriteRule ^category/(\d+)$ category.php?id=$1 
RewriteRule ^article/(\d+)$ article.php?id=$1 
+0

我以前試過,但問題是,CSS樣式消失 – Andre 2014-10-11 04:17:22

+0

這是因爲你可能使用相對路徑(即「css_folder/something.css」或「..」 /css_folder/something.css「)。當你mod_rewrite類似的東西時,你也需要考慮你正在改變文件夾樹。爲了解決這個問題,只需使用 「/css_folder/something.css」 或 $ _SERVER [「DOCUMENT_ROOT」] +「/ css_folder/something.css」 或其他任何您可以執行的操作來確保根相對路徑。 – Darkseal 2014-10-12 10:15:43