2012-04-18 62 views
6

Vì vậy, ý tưởng là để xóa đuôi .html từ mỗi trang như vậy ...URL Rewrite - Hủy bỏ .html mở rộng

www.website.com/File.html > www.website.com/File 
www.website.com/Folder/File.html > www.website.com/Folder/File 

Bây giờ tôi đã quản lý để thực hiện điều này bằng cách sử dụng Rewrite URL, nhưng nó có nghĩa là phải viết một viết lại cho mỗi trang, đó là thời gian, không hiệu quả và không thực tế nói nếu trang web là hơn 20 trang.

Có cách nào để thực hiện việc này bằng cách viết chỉ một hoặc hai lần viết lại trong web.config không?

+0

Tôi cũng muốn biết !!! Giúp SO người dùng UNITE! –

Trả lời

9

Giải pháp này làm việc cho tôi cuối cùng:

<rule name="RedirectUserFriendlyURL1" stopProcessing="true"> 
    <match url="^(.*)\.(.*)$" /> 
    <conditions> 
     <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> 
    </conditions> 
    <action type="Redirect" url="{R:1}" appendQueryString="false" /> 
</rule> 
<rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
    <match url="^(.*)$" /> 
    <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="{R:1}.(.*)" /> 
</rule> 
+0

Đẹp một Ryano! Tôi sẽ bỏ phiếu cho bạn - nhưng chúng tôi đã được thông báo về việc bỏ phiếu trong quá khứ ... –

+3

Thật không may, điều này cũng loại bỏ .css, .js và các tiện ích mở rộng khác – CarneyCode

0

Sử dụng các module viết lại cho IIS 7.x:
http://www.techrepublic.com/blog/webmaster/url-rewriting-with-iiss-url-rewrite-module/710

Mặc dù tôi đã cố gắng này, tôi đã không bao giờ nhận được sự cai trị thực tế thiết lập để làm điều đó tự động mà không có một quy tắc mỗi trang Tên.

+1 cho bất kỳ ai có thể làm sáng tỏ điều này!

+0

Đã thử phương pháp này nhưng không làm việc cho tôi, Cảm ơn – Ryano

Các vấn đề liên quan