我試着寫在.htaccess重寫規則一個,但我有問題重寫規則時,有ID =
我嘗試從重定向:
blog/entrada.php?id=2
要:
/blog/3D-touch
這是我嘗試過的多種事情之一,並且不起作用:
RewriteRule ^blog\/entrada\.php\?id=2$ /blog/3D-touch [L,R=301]
我的規則有什麼問題。如何有效地重定向?
感謝
我試着寫在.htaccess重寫規則一個,但我有問題重寫規則時,有ID =
我嘗試從重定向:
blog/entrada.php?id=2
要:
/blog/3D-touch
這是我嘗試過的多種事情之一,並且不起作用:
RewriteRule ^blog\/entrada\.php\?id=2$ /blog/3D-touch [L,R=301]
我的規則有什麼問題。如何有效地重定向?
感謝
查詢字符串是不匹配的重寫規則指令的一部分,重定向查詢字符串,你需要使用的RewriteCond下列選項之一:
選項1
RewriteEngine on
RewriteCond %{THE_REQUEST} /blog/entrada\.php\?id=2 [NC]
RewriteRule^/blog/3D-touch? [NC,L,R]
選項2
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=2$ [NC]
RewriteRule ^blog/entrada\.php$ /blog/3D-touch? [NC,L,R]
我們使用一個空的問號?在目標網址的末尾丟棄舊的查詢字符串,否則這些查詢字符串會默認被添加到目標網址。
更改[R到R = 301,如果你想使重定向永久。
使用此代碼
RewriteRule blog/(.*) blog/entrada.php?id=$1
該代碼會重定向具有博客的所有URL /博客/ entrada.php和博客的價值後把/至$ _GET [「身份證」 ]
你應該有下面的代碼n您的htaccess文件的頂部位置
Options +FollowSymLinks
RewriteEngine on
這兩個選項工作得很好。在選項1 RewriteRule中,你爲什麼要寫^你能解釋一下嗎? – segon