次のようなURLを転送するにはどうすればよいですか。
適切なページへ:
http://www.mysite.com/JoinOptions/MemberRegistration.aspx
これを行う方法はありますか?
私はDNNCMSを使用していますが、DNNに慣れておらず、リダイレクトの解決策がある場合は、それが役立ちます。
ありがとう、
マット
次のようなURLを転送するにはどうすればよいですか。
適切なページへ:
http://www.mysite.com/JoinOptions/MemberRegistration.aspx
これを行う方法はありますか?
私はDNNCMSを使用していますが、DNNに慣れておらず、リダイレクトの解決策がある場合は、それが役立ちます。
ありがとう、
マット
DNN内に「わかりやすいURLルール」を作成できます。[ホスト設定]ページで、[詳細設定]セクション内の[フレンドリURL]セクションを開きます。そこから、それに一致.*/Join/Default.aspx
して置き換える新しいルールを追加できます~/JoinOptions/MemberRegistration.aspx
(そのスタイルのURLを使用しても機能すると確信していますが、のようなURLに置き換えることができることはわかっ~/Default.aspx?tabid=423
ています)。
このスキームを使用して、IISがASP.NETに要求を処理させることを確認する必要があります。これを行う最も簡単な方法は、Default.aspxというファイルを使用してファイルシステムに「Join」フォルダーを追加することです。
SnowCoveredのDNNモジュールを使用したことがありますが、ここで入手できます:http ://www.snowcovered.com/Snowcovered2/Default.aspx?tabid=242&PackageID=7262
15ドルですが、コーディングなしで必要なことを実行できます。
次のようなページを作成し、/Join
にリダイレクトします/JoinOptions/MemberRegistration.aspx
Apacheを使用している場合は、以下を含む既存の.htaccessファイルを作成または編集できます。
RewriteEngine on
redirect 301 /Join http://www.mysite.com/JoinOptions/MemberRegistration.aspx
そして、それをルートディレクトリ(http://www.mysite.com/が指すディレクトリ)に配置します。これに加えて、Apache.htaccessファイルとmod_rewriteを読むと便利な場合があります。
編集:おっと。タグをチェックしませんでした。
実際、IISに触れることなく、またお金をかけずに、少し手間をかけてこれを行うことができます。
以下のコードを追加してください
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim DomainName As String = Null.NullString
Dim ServerPath As String
Dim URL() As String
Dim intURL As Integer
' parse the Request URL into a Domain Name token
URL = Split(Request.Url.ToString(), "/")
For intURL = 2 To URL.GetUpperBound(0)
Select Case URL(intURL).ToLower
Case "admin", "desktopmodules", "mobilemodules", "premiummodules"
Exit For
Case Else
' check if filename
If InStr(1, URL(intURL), ".aspx") = 0 Then
DomainName = DomainName & IIf(DomainName <> "", "/", "") & URL(intURL)
Else
Exit For
End If
End Select
Next intURL
' format the Request.ApplicationPath
ServerPath = Request.ApplicationPath
If Mid(ServerPath, Len(ServerPath), 1) <> "/" Then
ServerPath = ServerPath & "/"
End If
DomainName = ServerPath & "JoinOptions/MemberRegistration.aspx"
Response.Redirect(DomainName,True)
End Sub
ページ名を変更した場合、ファイルを再編集する必要がありますが、機能します
注:アメルサンアンプを実際のアンパサンドに交換する必要がある場合があります
IISを使用している場合は、ISAPI_Rewrite3ツールを使用できます。サイトの.htaccessは次のようになります。
RewriteBase /
RewriteRule ^Join/?$ JoinOptions/MemberRegistration.aspx [NC,R=301,L]
さらに別のオプション。おそらく、受け入れられた答えよりも少しハックです。
IISでワイルドカードマッピングを有効にする
これにより、拡張子のないURLが機能します(例: http: //yoursite.com/Join)
DNNに「参加」というページを作成し、目的のページにリダイレクトします
参加という名前/タイトルのページを追加し、メニューに表示されないように設定し、目的のURLに301リダイレクトするように設定します(これらはすべてページの設定のオプションです)
*通常はC:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727\aspnet_isapi.dllのようなもの