【问题标题】:htaccess redirection for php files only to another urlhtaccess 仅将 php 文件重定向到另一个 url
【发布时间】:2014-12-22 10:20:27
【问题描述】:

我想将特定文件夹中的 php 文件重定向到另一个 url,我使用的 htacess 文件适用于 php 文件,但也适用于其他扩展名,就我而言,我只想将 php 文件重定向到新的 url 那是htaccess:

   RewriteEngine On
   RewriteCond %{HTTP_HOST} !^ml\.mysite1\.com/fr/test2/^(.*\.php)$
   RewriteRule (.*) http://mysite2.com/$1 [R=301,L]

我的问题是我如何只重定向 *.php 而不是其他扩展名(jpg、png 等)

谢谢

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect


    【解决方案1】:

    您无法匹配 %{HTTP_HOST} 条件中的请求 URI。

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^ml\.mysite1\.com$
    RewriteRule ^fr/test2/(.+?\.php)$ http://mysite2.com/$1 [R=302,L,NC]
    

    【讨论】:

    • 我能问你为什么选择302重定向而不是301
    • 一旦我们确认它工作正常,可以将R=302 替换为R=301。在测试你的 mod_rewrite 规则时避免使用R=301(永久重定向)。
    • 我正在开发 2 台测试服务器,所以这并不重要
    • 测试服务器不缓存结果,是浏览器缓存结果。
    【解决方案2】:

    您的第三行需要更改,以便它只匹配带有 php 扩展名的文件。

    RewriteRule (.*)\.php http://mysite2.com/$1.php [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 2021-07-22
      • 2022-01-13
      • 2015-10-28
      • 2012-12-04
      • 1970-01-01
      相关资源
      最近更新 更多