Dynamic RewriteBase,带有可选的index.php

时间:2017-10-09 15:36:51

标签: php .htaccess mod-rewrite

我在/us//ca//fr-ca/拥有动态基本网址。使用提到的here建议的RewriteCond,我能够在大多数情况下使其工作。它工作的情况是当index.php不包含在URL中时,所以:

  • / US /路径/子路径
  • / US / PATH2 /子路径
  • / US /路径/子路径
  • / US / PATH2 /子路径

对于其中每个$_SERVER['BASE']都会返回/us/

如果我的应用程序将index.php插入网址,则不再提供BASE

我已尝试使用RewriteCond $0#%{REQUEST_URI} ^((?:index.php/)?)([^#]*)#(.*)\1$,但整个网址都以BASE

返回

编辑我现在看到,^我告诉htaccess在/ directory /之前期望index.php。继续深入挖掘。

编辑2

我的虚拟主机文档根目录指向/var/www/html。在/ var / www / html中是一个名为us的真实目录。目录cafr-caus的符号链接。

我的htaccess重写ls:

Options +FollowSymLinks
RewriteEngine on

RewriteCond $0#%{REQUEST_URI} ^([^#]*)#(.*)\1$
RewriteRule ^.*$ - [E=BASE:%2]

0 个答案:

没有答案