2012-10-17 68 views
1

我有一個網站,需要htaccess的代碼,以使在地址欄中輸入這個變化而不做任何物理變化的服務器文件夾htaccess的只改變URL地址

example.com/data/65767.html 是 example.com/65767

example.com/data/56-45.html 是 example.com/56-45

問候

回答

1

可怕地inefficien T,你需要確保你的鏈接改爲指向一個沒有.html,但是......

RewriteEngine On 

# externally redirect so that the browser shows the non-.html URL 
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /data/([0-9-]+)\.html 
RewriteRule^/%2 [L,R=301] 

# internally rewrite the non-.html URI back to the .html URI 
RewriteCond %{DOCUMENT_ROOT}/data%{REQUEST_URI}.html -f 
RewriteRule ^/?([0-9-]+)$ /data/$1.html [L] 

這適用於/data/<any number of digits or "-">的URI。如果你想讓它有什麼工作,則更換[0-9-].


編輯:

可我們也重定向example.com/65767.htmlexample.com/65767example.com/data/65767.html

內容呀,只是將第一條規則更改爲:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /(data/)?([0-9-]+)\.html 
RewriteRule^/%3 [L,R=301] 
+0

由於其工作正常,但我需要添加別的東西,如果可能的 可我們也example.com/65767.html重定向 是 example.com/65767 和example.com/data/內容65767.html – user1751702

+0

@ user1751702是啊,看我的編輯 –

+0

很好...它的工作:)謝謝你很多 – user1751702