【问题标题】:Parameter exception in htaccess rewritehtaccess 重写中的参数异常
【发布时间】:2016-09-29 15:06:10
【问题描述】:

我正在尝试在我的 htaccess 重写中实现异常,以便所有请求都转到 page=[request],参数“lang”除外,以便重写如下:

www.url.com > www.url.com?page=

www.url.com/pagename > www.url.com?page=pagename

www.url.com?lang=en > www.url.com?page=&lang=en

我的 htaccess 现在是:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ ?page=$1 [QSA,L]

并且重写在所有子页面上都能很好地工作,但在根/索引中却不行。

【问题讨论】:

  • 什么是根索引?不能处理根目录。

标签: .htaccess mod-rewrite url-rewriting


【解决方案1】:

由于您的模式中存在[^/]+,它与着陆页不匹配。

你应该使用这条规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* ?page=$0 [QSA,L]

.* 将匹配包括着陆页在内的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多