【问题标题】:Apache Rewrite Rule Regex ProblemApache 重写规则正则表达式问题
【发布时间】:2010-01-14 18:50:56
【问题描述】:

所以我有一个 Apache .htaccess 文件,其中包含:

RewriteEngine On
RewriteRule ^/(javascript/.*)$ /$1 [L]
RewriteRule ^/(styles/.*)$ /$1 [L]
RewriteRule ^.*$ /index.php

不幸的是,最后一行在我们将代码移至的服务器上出现了 500 错误。它在我的机器上运行良好,Ubuntu 9.10 运行 Apache 2.2.12,但不能在运行 Apache 2.2.14 的服务器上运行。

有没有办法重写它,使服务器不返回那个错误?

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    以下变体可能有效

    RewriteRule ^/.*$ /index.php
    RewriteRule ^.+$ /index.php
    RewriteRule ^(.+)$ /index.php
    RewriteRule ^/(.*)$ /index.php
    

    我知道这个,

    RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
    

    在我的一些 mediawiki 网站上非常适合我。

    【讨论】:

    • "RewriteRule ^/.*$ /index.php" 和 "RewriteRule ^/(.*)$ /index.php" 没有导致错误,但他们没有做任何事情重定向网址。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2016-02-10
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多