我的目標是如http://mydomain.com/somename
到http://mydomain.com/somename.html
重定向任何URL除了http://mydomain.com/name1
和http://mydomain.com/name2
對於這兩個,我希望他們重定向到http://mydomain.com/main.php?g1=name1
(或名2等)。如果後面兩個在URL中有兩個或三個以上的目錄(即http://mydomain.com/name1/val2/val3
),我希望將它們作爲單獨的GET值添加,如http://mydomain.com/main.php?g1=name1&g2=val2&g3=val3
。我希望瀏覽器繼續顯示目錄路徑,而不是像http://mydomain.com/somename.html
。有條件重定向目錄結構的URL到HTML文件
以下是我不成功的嘗試。我怎樣才能做到這一點?謝謝
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/
## If the request is for a valid directory, file, or link, don't do anything
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule^- [L]
RewriteCond %{REQUEST_URI} !^/name1 [OR] RewriteCond %{REQUEST_URI} !^/name2
RewriteRule ^(.*)$ $1.html [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ ?p=$1&c=$2&v=$3 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ p=$1&c=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ ?p=$1 [L,QSA]
</IfModule>
我認爲你的意思'$ 4'底有。 –
@PanamaJack是的,謝謝。 –
Michael,你太棒了!我一直在爲此瘋狂。只是好奇,但可能會創建一個條件,它不是名稱1或名稱2,然後執行HTML重寫? – user1032531