2011-06-08 198 views
0

因爲我想重寫一個URL到搜索引擎友好,但我沒有得到正確的形式。例如最初我的網址會是這樣的....阿帕奇mod_rewrite問題的網址

http://www.playtoongames.com/getscore.php?game_name=MarioVsSonic 

上述網址我要求從Flash遊戲。所以,當我從Flash遊戲請求該URL的HTML內容涉及在這樣http://www.playtoongames.com/getscore.php?game_name=MarioVsSonic而不是來這樣的有線格式.. http://www.playtoongames.com/getscore 現在我要製作成這種形式是這樣的...

http://www.playtoongames.com/getscore/MarioVsSonic 

對於發生上述事情,我已經創建了一個.htaccess文件,並撰寫這樣的代碼...

RewriteRule ^get_name/([^/\.]+)/?$ getscore.php?get_name=$1 [L] 

問候, phphunger

回答

1

您需要打開在.htaccess中重寫模式。

RewriteEngine On 
RewriteBase/

並在這之後定義您的重寫規則。

+0

我寫過規則如下..RewriteEngine On和RewriteRule^get_name /([^/\]]+?$$ getscore.php?get_name = $ 1 [L] – phphunger 2011-06-08 12:41:26

+0

@phphunger:我覺得你不應該'在正則表達式的開始處需要有'^',但是這應該起作用(如果沒有,嘗試改變正則表達式,你很快就會發現問題出在哪裏)。 – James 2011-06-08 13:43:40

0

下面的規則將做的工作改寫 http://www.playtoongames.com/getscore/MarioVsSonichttp://www.playtoongames.com/getscore.php?game_name=MarioVsSonic

RewriteRule ^getscore/([^/\.]+)/?$ /getscore.php?get_name=$1 [L] 

比較你的規則,看看你犯了一個錯誤。

+0

@LazyOne:我相信這個規則是正確的。意味着它將動態url重寫爲靜態url ... – phphunger 2011-06-08 12:32:20

+0

@phphunger:嗯,我不這麼認爲。這是你的URL(它的一部分):** getscore/MarioVsSonic **這是你的規則(其中的一部分):**^get_name /([^/\.]+)/?$**。不幸的是,我沒有在該URL中看到** get_name ** – LazyOne 2011-06-08 12:49:00

+0

@LazyOne:是的,我想進入此(http://www.playtoongames.com/getscore/MarioVsSonic)窗體而不是像這樣(http:// www .playtoongames.com/getscore.php?game_name = MarioVsSonic)..你能告訴我如何寫規則... – phphunger 2011-06-08 13:11:17