我在/us/
,/ca/
和/fr-ca/
拥有动态基本网址。使用提到的here建议的RewriteCond,我能够在大多数情况下使其工作。它工作的情况是当index.php不包含在URL中时,所以:
对于其中每个$_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
的真实目录。目录ca
和fr-ca
是us
的符号链接。
我的htaccess重写ls:
Options +FollowSymLinks
RewriteEngine on
RewriteCond $0#%{REQUEST_URI} ^([^#]*)#(.*)\1$
RewriteRule ^.*$ - [E=BASE:%2]