【问题标题】:rewritecond in .htaccess using patterm matching使用模式匹配在 .htaccess 中重写
【发布时间】:2012-11-25 03:34:29
【问题描述】:

我正在尝试组合一个重写条件以匹配以 10 个字母数字字符结尾的 URL 的最后一部分,例如:

http://www.someurl.com/EHN4K5LFWQ

并将其路由到:

http://www.someurl.com/index.php/EHN4K5LFWQ

到目前为止,我已经整理了以下内容,但是在使用了有和没有重写规则的许多变体挣扎了几天之后,我似乎无法让它工作。

RewriteCond %{REQUEST_URI} ^dir1/dir2/([A-Z,0-9]{10})$ 
RewriteRule ^(.*)$  dir1/dir2/index.php/$1 [L]

任何帮助将不胜感激。

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    如果 htaccess 文件在你的文档根目录中,你可以简单地使用这个规则:

    RewriteRule ^dir1/dir2/([A-Z,0-9]{10})$ /dir1/dir2/index.php/$1 [L]
    

    如果 htaccess 文件在 dir2 文件夹中,则可以使用此规则:

    RewriteRule ^([A-Z,0-9]{10})$ index.php/$1 [L]
    

    【讨论】:

    • 太棒了。实际上,我只是偶然发现了自己的答案。事实证明,我只需要将特定目录的 .htaccess 放在我的 dir2 中,然后简化我的规则: RewriteRule ^/*([AZ,0-9]{10})$ index.php/$1 感谢您的帮助。
    猜你喜欢
    • 2015-03-21
    • 2012-02-18
    • 2013-10-09
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多