0

我正在使用 UrlRewriteFilter 将所有对我的域的请求转发到 SEO 的“www”版本。我有一个基本规则:

<rule>
<name>Domain Name Check</name>
<condition name="host" operator="notequal">www.mydomain.com</condition>
<from>/.*</from>
<to type="permanent-redirect">http://www.mydomain.com</to>
</rule>

这对生产非常有用,但是当我在开发模式下运行时,它也会更改我的域,localhost:8080/mysitewww.mydomain.com.

我该如何解决这个问题以适应开发模式?我正在使用 Grails 和 Tomcat,所以所有东西都捆绑在一个 .war 中,然后部署到服务器上。

谢谢!

4

2 回答 2

0

您可以尝试添加它BuildConfig.groovy以排除依赖关系吗?(前提是你没有在 jar 中添加lib

grails.project.dependency.resolution = {
    inherits("global") {
        if (Environment.current != Environment.PRODUCTION)
            excludes "urlrewritefilter"
    }
}

如果这不起作用,那么我认为最安全的选择是分叉/克隆插件(使用最新版本的urlrewritefilter:4.0.3)并UrlRewriteGrailsPlugin.groovy通过添加以下元素进行修改:

def environments = ['prod'] //or 'production'
def scopes = [excludes:'run'] //If you normally use run-app in development

并使用插件而不是添加依赖项。

于 2013-07-17T18:09:35.220 回答
0

您不必排除该库。相反,您可以为开发和生产定义不同的 web.xml 文件。您只需将 UrlRewriteFilter 包含在生产中。

于 2013-11-16T17:45:28.917 回答