آموزش حذف پسوند aspx از صفحات در asp.net
آموزش حذف پسوند aspx از صفحات در asp.net
در این پست آموزش نحوه حذف پسوند .aspx از صفحات در Asp.Net را قرار داده ایم.
اگر با Asp. Net MVC کار کرده باشید می دانید در آدرس صفحات از هیچ پسوندی استفاده نشده که همین عامل باعث تاثیر در سئو سایت می شود.
بهترین روش برای این کار که ما توسعه می کنیم نصب Microsoft.AspNet.FriendlyUrls توسط Nuget در Asp.Net است.
برای این کار باید تغییراتی در کدهای داخل فایل web.config انجام دهید. ابتدا کدهای زیر را به فایل web.config اضافه کنید.
<?xml version="1.0"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.webServer> <rewrite> <rules> <!--Never display default.aspx--> <rule name="default.aspx Redirect" stopProcessing="true"> <match url="^(.*\/)*default\.aspx$" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" /> </conditions> <action type="Redirect" url="{R:1}" redirectType="Permanent"/> </rule> <!--Redirect and force URls to lowercase using IIS, Web.config and the URL Rewrite function--> <rule name="LowerCaseRule1" stopProcessing="true"> <match url="[A-Z]" ignoreCase="false" /> <action type="Redirect" url="{ToLower:{URL}}" /> </rule> <!--Remove .aspx from pages using URL Rewrite module in IIS for asp.net--> <rule name="Redirect to clean URL" stopProcessing="true"> <match url="^([a-z0-9/]+).aspx$" ignoreCase="true"/> <action type="Redirect" url="{R:1}"/> </rule> </rules> </rewrite> </system.webServer> <system.web> <urlMappings enabled="true"> <add url="~/Default" mappedUrl="~/Default.aspx" /> <add url="~/About" mappedUrl="~/About.aspx" /> </urlMappings> <compilation debug="true" targetFramework="4.5.1" /> <httpRuntime targetFramework="4.5.1" /> </system.web> </configuration>
کدهای زیر باعث عدم نمایش صفحه Default می شود. زمانی که کاربر روی لینک صفحه نخست کلیک کند بجای نمایش صفحه Default آدرس سایت را نمایش می دهد. این کار باعث افزایش سئو سایت می شود. و استفاده از آن اختیاری می باشد
<rule name="default.aspx Redirect" stopProcessing="true"> <match url="^(.*\/)*default\.aspx$" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" /> </conditions> <action type="Redirect" url="{R:1}" redirectType="Permanent"/> </rule>
کدهای زیر باعث می شود که تمامی حروف بزرگ در آدرس بار را به حروف کوچک تبدیل شوند. استفاده از این کدها اختیاری می باشد
<rule name="LowerCaseRule1" stopProcessing="true"> <match url="[A-Z]" ignoreCase="false" /> <action type="Redirect" url="{ToLower:{URL}}" /> </rule>
کدهای زیر باعث حذ پسوند aspx از صفحات می شود.
<rule name="Redirect to clean URL" stopProcessing="true"> <match url="^([a-z0-9/]+).aspx$" ignoreCase="true"/> <action type="Redirect" url="{R:1}"/> </rule>
توجه کنید اگر از خط تیره در نام استفاده کنید این دستور کار نخواهد کرد.
با استفاده از کدهای زیر بررسی می کنیم که اگر در آدرس صفحه برای مثال About باشد به صفحه About.aspx ارجاع داده شود. این کار را باید برای تمامی صفحات انجام دهید
<urlMappings enabled="true"> <add url="~/Default" mappedUrl="~/Default.aspx" /> <add url="~/About" mappedUrl="~/About.aspx" /> </urlMappings>
نظر / سوال