網站搶第二URL字符串我正在改變網址的規則是這樣的:mod_rewrite的:在正則表達式
RewriteRule ^(.*)/(.*)/$ string.php?id=$1&slug=$2 [L,NC]
從而產生ID /塞。我想刪除ID部分,但不知道如何只選擇slu。。這樣做的:
(.*)/$ string.php?id=$1&slug=$2 [L,NC]
創建從ID,而不是塞一個網址...
這可能是一個簡單的答案,但我不能找到它...謝謝!
網站搶第二URL字符串我正在改變網址的規則是這樣的:mod_rewrite的:在正則表達式
RewriteRule ^(.*)/(.*)/$ string.php?id=$1&slug=$2 [L,NC]
從而產生ID /塞。我想刪除ID部分,但不知道如何只選擇slu。。這樣做的:
(.*)/$ string.php?id=$1&slug=$2 [L,NC]
創建從ID,而不是塞一個網址...
這可能是一個簡單的答案,但我不能找到它...謝謝!
要匹配只有slu,,你想捕獲slu into $1
。您的嘗試捕獲了$1
,但將其傳入id=
。
# [^/]+ matches everything up to but not including/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ string.php?slug=$1 [L,NC]
我寫了'RewriteRule ^([^ /])+ $ contactus.php?id = $ 1&slug = $ 2 [L,NC]',但它使網站崩潰...... Firefox表示該網站使用重定向一種永遠不會完成的方式。 –
我有點盲目地嘗試在$ - 'RewriteRule ^([^ /])+/$ contactus.php?id = $ 1&slug = $ 2 [L,NC]'之前添加一個斜槓,它可以停止崩潰,但不起作用重定向。 –
'#[^ /] +直到但不包括/ 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond%{} REQUEST_FILENAME!-d 重寫規則^([^ /])+ $ contactus.php匹配一切嗎?蛞蝓= $ 1 [L,NC]' 沒有崩潰,但新的網址無效。我嘗試過加入ID字符串到查詢: '#[^ /] +匹配了一切,但不包括/ 的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重寫規則^(! [^ /])+ $ contactus.php?id = $ 1&slug = $ 2 [L,NC]' 具有相同的結果。感謝你的努力,以幫助我到目前爲止:) –
我認爲你的問題是你使用slug = $ 2,但是你的更新的RewriteRule沒有第二個捕獲組。
RewriteRule ^(.*)/$ string.php?slug=$1 [L,NC]
如果您的網址是http://www.example.com/slug這將產生http://www.example.com/string.php?slug=slug
不起作用:/我很好奇這是如何工作的。在我看來,新的URL將有兩個部分,替代路徑將會到達不存在的地方,儘管我對此的理解並不太全面...... –
我更新了我的答案,我對什麼感到困惑你試圖匹配,也是你想要製作的東西。 –
等待,所以要完全刪除ID只有依靠像'example.com/slug'蛞蝓?或者你不想在最終查詢字符串中使用id,例如'example.com/id/slug >> string.php?slug = slug'? –
你最終的網址應該是什麼樣子?它應該指向什麼? –
對不起,我想要example.com/slug。謝謝! –