2010-01-18 107 views
2

我對PHP很陌生,剛開始使用mod_rewrite。我知道基本的行話不過來卡住時,我想簡單地引用路徑目錄mod_rewrite問題

即這不是probs

重寫規則^設置/ $的settings.php [QSA,L]

但如何,例如使:

重寫規則^頁/(.*)$ index.php頁面= $ 1 [QSA,L]

生成/頁/ [頁面名稱]

只是變成

/[頁面名稱]

+0

Apache配置問題應該在serverfault上。 – hobodave 2010-01-18 04:39:16

+0

@hobodave:不一定。 Jeff Attwood的觀點是「如果你的職位名稱中包含'程序員'這個詞,那麼就用Stack Overflow吧,」我希望他的意見能夠成爲一件事。請參閱http://meta.stackexchange.com/questions/6235/apache-configuration-htaccess-questions-esp-modrewrite-so-or-sf – outis 2010-01-18 05:44:56

+0

@outis:他的觀點顯然不包括在內。他沒有讚揚,而那些說「屬於SF」的人做到了。 :P無論如何,這就是我們投票的原因。當我投票結束時,我留下一個解釋;這不是一個辯論的邀請。 – hobodave 2010-01-18 05:51:00

回答

1

這應做到:

RewriteRule ^(.*/)$ index.php?Page=$1 [QSA,L] 

但是,你應該把所有你有其他特定重寫規則後重寫規則,否則所有的請求將被重定向到index.php?Page=...

+0

嘿謝謝 - 是的,我試過=我正在使用http://vanillaforums.org/addon/60/page-manager/50/50/ - 但它似乎當我這樣做,我的任何樣式加載? – Thomas 2010-01-18 05:12:04

+0

試試我的更新版本。儘管網址需要結尾。 – 2010-01-18 05:22:27

+0

嗯再次感謝,但現在,給我「找不到」,即/頁/ [頁名]或/ [頁名]? 「 – Thomas 2010-01-18 05:29:55

2

也許我不理解你,但似乎你需要這樣的.htaccess文件來解決你的問題。

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteBase/

    # Ignore valid files 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d  

    RewriteRule ^(.*)$ index.php?Page=$1 [QSA,L] 
</IfModule> 
+0

嘿謝謝你的迴應 - 它似乎當我添加這些沒有我的樣式加載? – Thomas 2010-01-18 05:06:48

+0

對不起,我的壞 - 看到更新的答案 – Darmen 2010-01-18 05:26:50

+0

嘿達倫 - 再次感謝。試過這個,但似乎沒有工作?即只是重定向回index.php? – Thomas 2010-01-18 05:34:27