【问题标题】:100% mirror one directory from another with mod_rewrite100% 使用 mod_rewrite 从另一个目录镜像一个目录
【发布时间】:2014-04-20 23:07:47
【问题描述】:

我希望domain.tld/en/ 是domain.tld/ 及其所有(子)目录和文件的 100% 镜像,但不会更改其客户端的 URL。目前 PHP 文件无法访问所有需要的文件(如 CSS),因为它们无法在 domain.tld/en/css/file.css 中找到它们(只是在 /css/file.css 中应该相同)

这就是我的 .htaccess 现在的样子(改编自另一个问题(见下文)):

RewriteEngine On 
RewriteRule /en/(.*) /$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php

背景

我在 stackoverflow 上找不到我的问题的解决方案。 它非常接近这个问题Redirect from one directory to another with mod_rewrite,但因为我不太了解如何修改 htaccess 文件,所以遗憾的是它对我没有帮助。

我有一个网站在主目录的 index.php 中运行,例如domain.tld/index.php,现在我已经用多语言内容的可替换字符串修改了 php 文件,并检测了它在哪个目录中使用。

【问题讨论】:

    标签: php .htaccess mod-rewrite mirror


    【解决方案1】:

    根目录中的文件与其他目录中的文件应该没有任何区别。试试这个(请注意,我添加了L 标志,这将使mod_rewrite 在匹配第一个规则时停止寻找其他规则(在您的情况下,en/ 下的任何文件都应该匹配第一个和第二条规则 - 所以它会同时应用两个重写

    RewriteEngine On
    RewriteRule ^\/?en\/(.*) $1?lang=en [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php
    

    【讨论】:

    • 这正是我想要的。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 2014-06-18
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多