fat free php 在子目录中,路由不起作用
fat free php in subdirectory, routes not working
我正在搭建一个 fatfree 网站,但我在子目录运行
中遇到问题
这是我的 htaccess:
RewriteEngine On
RewriteBase /~site/
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /~site/index.php [L,QSA]
这是我正在使用的路线
GET /*/index=App->show_home
我必须在其余部分之前添加 /*
,因为脚本一直将子文件夹作为路径的一部分包含在内。
我想这是可行的,但是一旦我更新了 dns 设置,站点将不再有这些设置,我必须更新它。
有没有我可以应用的设置,可以让这两种情况都起作用?
所需的基本 .htaccess 如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
请注意:
- 不需要RewriteBase
- index.php 与 .htaccess
位于同一文件夹中
但是使用mod_userdir时,需要多一点配置:
- 显式设置 RewriteBase(就像您所做的那样):
RewriteBase /~myuser/
- 在用户目录Apache配置中,确保启用
FollowSymlinks
和AllowOverride All
。它们分别允许遵循 ~
link 和处理 .htaccess。
这是 Apache 配置的用户目录示例:
<Directory "/Users/myuser/Sites/">
Options FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
回答你的最后一个问题:
Is there a setting that I can apply somewhere that would allow both scenarios to work?
答案是:不,只要您从用户目录提供网站服务即可。将您的网站移动到 DocumentRoot
,一切都会 运行 顺利。
我正在搭建一个 fatfree 网站,但我在子目录运行
中遇到问题这是我的 htaccess:
RewriteEngine On
RewriteBase /~site/
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /~site/index.php [L,QSA]
这是我正在使用的路线
GET /*/index=App->show_home
我必须在其余部分之前添加 /*
,因为脚本一直将子文件夹作为路径的一部分包含在内。
我想这是可行的,但是一旦我更新了 dns 设置,站点将不再有这些设置,我必须更新它。
有没有我可以应用的设置,可以让这两种情况都起作用?
所需的基本 .htaccess 如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
请注意:
- 不需要RewriteBase
- index.php 与 .htaccess 位于同一文件夹中
但是使用mod_userdir时,需要多一点配置:
- 显式设置 RewriteBase(就像您所做的那样):
RewriteBase /~myuser/
- 在用户目录Apache配置中,确保启用
FollowSymlinks
和AllowOverride All
。它们分别允许遵循~
link 和处理 .htaccess。
这是 Apache 配置的用户目录示例:
<Directory "/Users/myuser/Sites/">
Options FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
回答你的最后一个问题:
Is there a setting that I can apply somewhere that would allow both scenarios to work?
答案是:不,只要您从用户目录提供网站服务即可。将您的网站移动到 DocumentRoot
,一切都会 运行 顺利。