2012-05-08 54 views
0

我正嘗試在新網站/服務器上重新使用一些.htaccess代碼,但它無法正常工作。我不是URL重寫的專家,所以如果任何人都可以看到我的語法是不正確的還是有其他需要檢查服務器端的東西,我將不勝感激。ModRewrite .htaccess/SEO URLs語法

我使用下面的代碼:

Options +FollowSymLinks 
RewriteEngine on 
# News Pages 
RewriteRule ^news/$ /news.php 
RewriteRule ^news/(.*?)/$ /news.php?article=$1 

它爲第一級,/新聞/但/新聞/條-1 /只加載/新聞/(news.php)概述頁面。 /news.php?article=article-1正常工作。

服務器運行Apache 2.2.9,PHP處於CGI模式。

回答

0

嘗試這樣的方式:

RewriteRule ^news/(.*?)/?$ /news.php?article=$1 [L] 
    RewriteRule ^news/?$ /news.php [L] 

[L]在指令結束時停止其他指令的服務器cheacking,如果當前一個匹配。

因此,你寫更具體的更具體的前面。

如果您的規則在.htaccess中只能正常工作,那麼這樣的組織可以提供幫助。

/? - 這意味着/最後可以不存在或不存在

+0

仍然這樣做,閱讀一些相關問題,PHP在CGI模式下運行(如果相關的話)? – MattP

+0

已添加/? - 閱讀我的答案。 +我想聽聽在文件中單獨測試規則的結果:什麼是工作,什麼不工作。那麼將它們結合在一起會更容易。 – DaneSoul

+0

我沒有得到它的工作,可能只是用PHP來做 – MattP