【问题标题】:.htaccess variables and environment for modularity.htaccess 变量和模块化环境
【发布时间】:2015-12-11 23:18:46
【问题描述】:

我继承了一个非常固定的网站,没有开发环境。在 LAMP 堆栈中,htaccess 文件一直是我的弱点,而且似乎最后一位开发人员使用 htaccess 文件做了很多工作。

我尝试过多次修改它,但我只是在尝试制作开发环境时才成功破解它。

我正在尝试做的是获取我网站的所有引用

http://www.example.com/foo/bar

并将其更改为

[howeverVariablesWorkInHTACCESS]/foo/bar

正在由某个变量构建。我看过 htaccess 可以使用变量的引用,但我没有看到任何我真正理解的。

理想情况下,我不必手动输入该变量值,而是以某种方式将其从文件的位置拉出,但如果这不是一个选项,那么只更改服务器之间的一条线将比数百条更容易。

所以,TL;DR 如何在 htaccess 文件中创建变量并根据文件位置给它们赋值?

还有奖金请求...建议的方法来真正掌握 htaccess 文件?到目前为止,我还没有看到与 htaccess 相当的小提琴或明确编写的指南。

【问题讨论】:

    标签: php apache .htaccess


    【解决方案1】:

    你可以通过这个方法自动获取变量值

        RewriteEngine On
    
        RewriteBase / 
        RewriteEngine On Options All -Indexes RewriteBase /directoryname/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
    
        ###############  SEO     ##########################
    
    #http://www.example.com/hello/booboo/ it takes the url  after .com/
        RewriteRule ^(.*)$ getme.php?url=$1 [QSA,L]
    

    例如,如果我输入http://www.example.com/hello/bobo/

    现在它将替换并占用“/hello/bobo/”部分,您可以在 .htacces 文件中使用它此外,如果您想重定向到另一个页面并过滤变量值,您应该修改 $1,因为其中的所有数据.

    编辑:在该示例中,我在我的域之后获取 url,然后我重定向到 get.php 你也可以用“/”分割方法来分割url让我们看看get.php页面来理解这个方法

    getme.php:

    <?php
    
    //we redirect to get in url=$1 so our get method name is url
    $parca = explode("/", $_GET["url"]); //and we divided by slash the url.
    
    echo $parca[0];//this is first part "/hello/
    echo $parca[1];// and this is second part "/booboo/;
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2013-11-30
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多