2012-03-06 86 views
0

我是新的.htaccess,我似乎有一些問題得到它來清理我的網址。.htaccess乾淨的網址與超過3個參數

site.com?p=article&id=3&read=article title 

我能夠得到的第一個變量工作確定像site.com/articles。但是當我試圖進一步的服務器說它不能找到它。我已經嘗試了幾種方法,其中沒有一個似乎有效。

RewriteRule ^([a-zA-Z0-9]+)$ index.php?p=$1 
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?p=$1 

這上面工作

我已經試過

RewriteRule ^([a-zA-Z0-9-z\-]+)(/([a-zA-Z0-9-z\-]+))?/?$ index.php?p=$1&i=$2 

RewriteRule ^([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)/?$ index.php?p=$1&i=$2&read=$3 

最後2不工作。請幫助。謝謝

回答

0

讓我們試試這樣的事情吧?

RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?p=$1&id=$2&read=$3 [L] 
+0

您好,感謝您的幫助。你知道文章標題中是否有空格會影響閱讀的方式嗎?即閱讀=等等等等等等......謝謝 – blackStar 2012-03-06 07:14:55

0

%{QUERY_STRING}是您正在查找的內容。

這是我使用了類似的情況:

RewriteRule ^/(.*) /index.php?r=/$1&%{QUERY_STRING} [L] 
+0

嗨,感謝您的幫助。你知道文章標題中是否有空格會影響閱讀的方式嗎?即&讀=等等等等等等......謝謝 – blackStar 2012-03-06 07:15:13

+0

空間將被編碼,並在瀏覽器中顯示爲%20,如果這就是你要求的,最好的做法是不要在URL中使用空格,我可能會用連字符替換它們如果可能的話。現在在我的Web瀏覽器中查看URL,stackoverflow也用連字符替換空格。 – 2012-03-06 07:18:30

+0

啊,好的,在php中使用類似str_replace的東西?我假設你的字符串中的r代表我的腳本中的p? – blackStar 2012-03-06 07:20:23