【问题标题】:Redirect all .php traffic to .php5 files将所有 .php 流量重定向到 .php5 文件
【发布时间】:2011-06-27 13:03:03
【问题描述】:

我有一个在共享主机上安装了 MediaWiki 的个人网站。 Apache 配置使用 PHP 4 处理所有 .php 请求,使用 PHP5 处理所有 .php5 请求。

出于兼容性原因,我需要能够使用 .php 扩展名,但 MediaWiki 仅在 PHP5 上可用。我尝试使用 mod_rewrite 引擎,但我坚持使用规则。

这是当前文件:

DirectoryIndex index.php5

RewriteEngine on


# This rewrites URIs in the form /pages/Article_Name to /index.php5?title=Article_Name.
RewriteCond %{REQUEST_URI} !^/pages/index.php5.*$ [NC]
    RewriteRule ^pages/?(.*)$ /index.php5?title=$1 [L]

# This is the broken rule
RewriteCond %{REQUEST_URI} ^index\.php(([^5])(.*))?$ [NC]   
    RewriteRule ^index\.php(([^5])(.*))?$ /index.php5?$1 [L]

该规则的想法是“将所有内容从 index.php(不跟 '5')重定向到 index.php5”。

有什么想法吗?


编辑:

SetEnv PHP_VER 5

有效,但我仍然对为什么不考虑该规则感兴趣。

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting


    【解决方案1】:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*)\.php $1.php5 [R=301,L]
    RewriteRule ^(.*)\.php $1.php5 [L]
    

    我在下面的web site 上发现了这个可能有用的东西,如果你愿意,你可以让它更具体,并删除笼统的内容,只更改一定数量的 .php 文件。

    您还可以使用 RewriteBase 条件自定义它以仅适合某个目录。

    【讨论】:

      【解决方案2】:

      我会更改主机,您不必让 php 应用程序在扩展后声明其版本。 PHP3 是贫民区,php5 是非常贫民窟和不好的做法。

      当然,这可能是一种不好的做法,您很可能永远不会看到围绕 php5 文件扩展名命名约定构建的 OSS 应用程序。

      我会在你领先时退出并跳槽到一个糟糕的主机上 - 不要试图改变像 mediawiki 这样的应用程序的构建方式。我见过的同时具有 php4 和 php5 的主机允许您选择要为该域运行的安装 - 而不是用文件扩展名指定它。那是贫民区。

      【讨论】:

      • 不幸的是,这不是一个选项 :)(我同意将 .php 重定向到以前的版本不是一个好主意)
      • 为什么每次我读到人们做奇怪和古怪的事情以使事情在他们的虚拟主机上运行时他们不会移动?如果你这样做是为了好玩是一回事,如果这是一件严肃的事情,你真的需要重新考虑你的方法,否则你将面临艰难的日子。
      【解决方案3】:

      试试这个

      AddType x-mapp-php .php5
      

      可能是反过来的,不过试试看,我不能atm :S

      【讨论】:

      • 不错的尝试,但它似乎不起作用(它可能在服务器上被禁用)
      • 可以说,我是一个完整的 Apache 菜鸟,所以我可能做错了。我将它添加到 DirectoryIndex 行的下方,并在有或没有我的规则的情况下进行了尝试。
      【解决方案4】:

      REQUEST_URI 值始终以斜杠开头,但您的模式不是。

      【讨论】:

        【解决方案5】:

        这似乎对我有用:

        AddType application/x-httpd-php5 .php

        【讨论】:

          猜你喜欢
          • 2017-08-13
          • 2014-08-23
          • 2013-01-06
          • 2014-04-27
          • 1970-01-01
          • 2015-01-14
          • 2011-03-15
          • 2016-09-26
          • 2016-07-27
          相关资源
          最近更新 更多