1

.htaccessファイルを有効にするには、urlrewritefilter-4.0.3.jarファイルを WEB-INF\lib\ 内に配置し、web.xml 内に次のコードを追加しました。

   <filter>
      <filter-name>UrlRewriteFilter</filter-name>
          <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>

デフォルトは false です。mod_rewrite スタイルの構成ファイルを使用します (これが true で、confPath が指定されていない場合、confPath は /WEB-INF/.htaccess に設定されます)

   <init-param>
       <param-name>modRewriteConf</param-name>
       <param-value>true</param-value>
   </init-param>
   </filter>
   <filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
   </filter-mapping>`

私の .htaccess ファイルコードは

    RewriteRule ^/()$ index.jsp [NC,L]
    RewriteRule ^/login/?$ login.jsp [NC,L] #Handle requests for "login"
    RewriteRule ^/logout/?$ login.jsp [NC,L] #Handle requests for "login"
    RewriteRule ^/contact_us/?$ contact.jsp [NC,L] #Handle requests for "contactus"
    RewriteRule ^([/A-Za-z0-9_]+)$ user.jsp [NC,L]
    RewriteRule ^([/A-Za-z0-9_]+)/$ user.jsp [NC,L]

user.jsp ファイルが 1 つあります。URL マッピングに正規表現を使用したので、URL に何を入力しても user.jsp ファイルが開きます。user.jsp ファイル内に入力された実際の URL にアクセスしたいと考えています。と入力するとしhttp://localhost:8080/project/abhiramgiriます。使った

  <%
       String getURL=request.getRequestURI();
       out.print(getURL);
  %>

ファイルへのパスが [http://localhost:8080/project/user.jsp 実際に必要]として表示されますhttp://localhost:8080/project/abhiramgiri。実際に入力された URL は表示されません。元のパスを取得します。この問題を解決してください。

4

1 に答える 1

0

Web ブラウザが表示される URL は何ですか? アプリケーションによっては、JavaScript を使用して document.URL を使用して URL を取得できます ( get-current-url-with-javascript を参照)。セキュリティを考慮する必要があります。

于 2013-05-20T21:28:13.843 に答える