我正在制作一个可下载的自托管网络应用程序(使用CodeIgniter),并且需要.htaccess重写规则才能判断它是否在子目录中,或者无法正确制作重写规则。
例如,如果在example.com上安装了应用程序,则写入规则将类似于
RewriteRule ^(.*)$ /index.php/$1 [L]
另一方面,如果它安装在example.com/subdir上,那么它看起来像
RewriteRule ^(.*)$ /subdir/index.php/$1 [L]
我怎样才能实现这一目标?有没有办法将这些组合成一个“智能”规则?或者我是否需要在应用程序安装期间以编程方式创建.htaccess,而不是仅将其与下载捆绑在一起?
答案 0 :(得分:4)
只需在替换中使用相对路径:
RewriteCond $1 !^index\.php/
RewriteRule ^(.*)$ index.php/$1 [L]
答案 1 :(得分:0)
试试这个
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /index.php/$1 [L]