1

以下是 CakePHP 使用的 htaccess 代码:-

我想重写/转换它们,以便它们在我的 openlitespeed 服务器上运行。它们在标准的 apache 服务器上工作得很好。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>    


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule    ^$    webroot/    [L]
RewriteRule    (.*) webroot/$1    [L]
</IfModule>


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
4

1 回答 1

0

只需在您想要的虚拟主机的上下文中添加重写规则。添加虚拟主机的

静态上下文上下文
参数:
- URl = /
- Location = 默认路径 eg /usr/local/lsws/Example/html/
- Accessible = Yes
- Enable Rewrite = Yes
- Rewrite Rules =

RewriteRule    ^(.*)$ app/webroot/    [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

您仍然可以将所有原始规则重写。
我只放了一条规则RewriteRule ^(.*)$ app/webroot/ [L],因为我不明白为什么需要其他规则。似乎永远无法匹配webroot/webroot/$1

RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
RewriteRule    ^$    webroot/    [L]
RewriteRule    (.*) webroot/$1    [L]
于 2018-05-15T14:25:51.960 回答