2013-02-06 83 views
-1

傳入的URL國防部重寫,htaccess以及gettign值

domain.com/12/3

應重新寫入

域.com /?w = 12 & h = 3

htaccess的

RewriteEngine on 
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?w=$1&h=$2 [QSA] 

的PHP

<?php 
echo $_GET['h']; 
?> 

結果

404頁

我試過使用htaccess來更改url的結果,然後從URL中檢索值,有人可以幫我嗎?

+0

您是否正常地獲得'$ _GET ['w']? – Sammitch

+0

使用?w = 3&h = 4是的,它工作 – ngplayground

+0

/index.php ...正如克里斯解釋的 – 2013-02-06 16:26:05

回答

-1
RewriteEngine On 
RewriteRule ^(.*)/(.*)$ index.php?w=$1&h=$2 [QSA] 

上面分類了它。感謝您的回覆

1

也許你需要逃跑-,如:

RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_\-]+)$ index.php?w=$1&h=$2 [QSA] 

PS。我希望上面的網址/ 12/3只是舉例,因爲你的正則表達式只接受AZ

+0

轉義'-'對我來說沒有意義,但是你的PS是正確的答案。我不能相信我錯過了這一點。 – Sammitch

+0

'-'是一個像'。*()[]&^'這樣的正則表達式字符,無論何時使用,都需要進行轉義! – Birla

0
RewriteEngine On 
RewriteRule ^[a-z]{2,2})/([a-zA-Z0-9_-]+)$ /index.php?w=$1&h=$2 [QSA] 

從本質上講,我敢肯定你需要一個/ index.php的在前面

我喜歡使用這個生成器來執行我的mod重寫規則。

http://www.generateit.net/mod-rewrite/

+0

'/'不是強制性的,儘管它使URL更加明確我猜 – Birla

0

試着改變你的重寫規則於以下內容:

RewriteEngine on 
RewriteRule ^([a-z0-9]{2})/([a-zA-Z0-9_-]+)$ /index.php?w=$1&h=$2 [QSA] 

你的例子有兩個數字作爲路徑的第一部分,這將不會被[a-z]匹配。