2014-01-06 144 views
0
重定向頁面

造型的工作,我已經設置我的網站的所有請求要經過的index.php無法獲得

我現在的.htaccess文件如下:

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

我的網站結構基於MVC,因此它查看控制器,操作和可選ID的url。

我想重寫請求到新聞部分友好的網址。

在第一個例子中,我只想讓這個工作與新聞ID。

因此而不是去新聞/條/ 1的,我想它去新聞/ 1

我曾嘗試以下的規則,但不能視爲得到它的工作。

RewriteRule ^news/([0-9]+) /news/article.php?id=$1 
RewriteRule ^news/([0-9]+) /news/article/$1 

該規則顯示正確的頁面,但是所有樣式都被刪除。

RewriteRule ^news/([0-9]+)$ /news/article/$1 [L] 
+0

實際上你當前的CSS/JS鏈接是什麼? – anubhava

回答

0

你的規則看起來是正確的,不要在RewriteRule行尾忘記[L]標誌。

你沒有風格的原因使用

RewriteRule ^news/([0-9]+)$ /news/article.php?id=$1 [L] 

時,可能是因爲你忘了設定的CSS/JavaScript的源URL以及任何圖片包含絕對路徑,否則他們將會從article內試裝目錄。

+0

我已經仔細檢查了網址的url,並將它們設置爲絕對路徑。 – Stephen

+0

@Stephen我最初將錯誤的RewriteRule複製到我的答案中。它現在與我的答案中的那個一起工作嗎?在開發人員工具的網絡選項卡中(在Chrome/Firefox中點擊F12)CSS /圖像資源是否正確加載? – Jon

+0

否它只適用於RewriteRule^news /([0-9] +)$/news/article/$ 1 [L]但是,css仍然沒有顯示。該CSS加載正常。 – Stephen

0

我能夠通過重新路由我的控制器中的新聞文章的所有請求來解決此問題。