.htaccess htaccess mod_重写配置以排除特定文件夹/url

.htaccess htaccess mod_重写配置以排除特定文件夹/url,.htaccess,mod-rewrite,cakephp,.htaccess,Mod Rewrite,Cakephp,我在服务器的子文件夹中安装了CakePHP,我想在该子文件夹中安装另一个应用程序: root/public_html/subfolder/cake/ root/public_html/subfolder/app/ 等等。现在我需要在那里安装一个自定义应用程序: root/public_html/subfolder/my_custom_application/ 我的.htaccess中有类似的内容: <IfModule mod_rewrite.c> RewriteEngine

我在服务器的子文件夹中安装了CakePHP,我想在该子文件夹中安装另一个应用程序:

root/public_html/subfolder/cake/
root/public_html/subfolder/app/
等等。现在我需要在那里安装一个自定义应用程序:

root/public_html/subfolder/my_custom_application/
我的.htaccess中有类似的内容:

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

毛里西奥。

将此置于规则行之前:

将其置于规则行之前:

如何从CakePHP路由中排除目录: 我遇到了和你一样的问题。我挣扎着,但最终找到了一些有效的方法。 我之所以回答这个问题,是因为上面的答案对我来说并不适用,但这确实适用

我的目录结构:

我在CakePHP的默认路由中添加了以下内容:

实际上,我需要允许人们单独访问子文件夹,因为它有一个单独的应用程序。另外,在我的例子中,默认情况下,我从根目录为CakePHP应用程序提供服务。 下面是我的CakePHP 2.x htaccess的外观:

更新。Htaccess这对我有用

在你的情况下,我知道你需要这个工作在一个子文件夹;这是我调整后的htaccess,我没有机会测试它,但我相信它或其他类似的东西会起作用:

子文件夹的最终产品

如何从CakePHP路由中排除目录: 我遇到了和你一样的问题。我挣扎着,但最终找到了一些有效的方法。 我之所以回答这个问题,是因为上面的答案对我来说并不适用,但这确实适用

我的目录结构:

我在CakePHP的默认路由中添加了以下内容:

实际上,我需要允许人们单独访问子文件夹,因为它有一个单独的应用程序。另外,在我的例子中,默认情况下,我从根目录为CakePHP应用程序提供服务。 下面是我的CakePHP 2.x htaccess的外观:

更新。Htaccess这对我有用

在你的情况下,我知道你需要这个工作在一个子文件夹;这是我调整后的htaccess,我没有机会测试它,但我相信它或其他类似的东西会起作用:

子文件夹的最终产品


您必须用您的目录名替换目录

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude)(?:$|/)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude)(?:$|/)
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
如果你想有多个被排除的目录,你必须将它们以|附加_dir _to _exclude |分隔

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude|additional_dir_to_exclude)(?:$|/)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude|additional_dir_to_exclude)(?:$|/)
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

您必须用您的目录名替换目录

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude)(?:$|/)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude)(?:$|/)
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
如果你想有多个被排除的目录,你必须将它们以|附加_dir _to _exclude |分隔

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude|additional_dir_to_exclude)(?:$|/)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude|additional_dir_to_exclude)(?:$|/)
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

您好,谢谢您的提示,但我仍然有相同的错误:错误:在此服务器上找不到请求的地址“/my_custom_application”。这一次是我的自定义应用程序的m。您好,谢谢您的提示,但我仍然有相同的错误:错误:在此服务器上找不到请求的地址“/my\u custom\u application”。这次使用我的自定义应用程序m,它似乎起作用了。但是不能在CakePHP3.x中工作,请给我一些建议。它似乎可以工作。但是不能在CakePHP3.x中工作,请给我一些建议。
RewriteCond %{REQUEST_URI} !^/directory_to_exclude/(.*)
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/directory_to_exclude/(.*)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/subfolder/directory_to_exclude/(.*)
   RewriteRule    ^$ subfolder/app/webroot/    [L]
   RewriteRule    (.*) subfolder/app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude)(?:$|/)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude)(?:$|/)
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude|additional_dir_to_exclude)(?:$|/)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteCond %{REQUEST_URI} !^/(?:dir_to_exclude|additional_dir_to_exclude)(?:$|/)
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>