在〜/ public_html / foo中我有一个.htaccess文件,它将.php扩展名附加到不存在的文件中:
RewriteEngine On
RewriteBase /~august/foo
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME}.php -f
RewriteRule .* $0.php
理想情况下,我想使这个.htaccess文件独立于项目文件夹foo的存储位置。有没有办法重写(!)规则来消除/~august / foo?
答案 0 :(得分:0)
创建一个重写条件,它“提取”请求URI的/ ~username / projectdir部分(如果不存在,则为空字符串)并将其添加到重写规则中:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME}.php -f
RewriteCond %{REQUEST_URI} ^(/~[^/]*/[^/]*/)?
RewriteRule (.+?)/*$ %0$1.php