我有一个使用zend框架创建的php web应用程序。文档根目录是public_html,托管服务提供商不允许我将其更改为public_html / public子目录。这不是问题,因为我发现以下.htaccess文件允许我的应用程序使用以下目录布局:
public_html/public
public_html/application
public_html/application/controllers
等。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R,L]
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
现在我有了一个新的要求,我需要从public_html下的不同子目录中为同一个域运行另一个Web应用程序,让我们调用它,即public_html / other
我已尝试修改.htaccess文件以将包含“other”的任何请求重定向到public_html / other子目录,但它总是会导致500系统错误,例如,如果我添加:
RewriteCond %{REQUEST_URI} !^/other/.*$
RewriteRule ^(.*)$ /other/$1
一切都中断,所有请求都会导致500系统错误。关于如何制定重写规则以实现这一目标的任何建议?
答案 0 :(得分:1)
RewriteRule ^other - [L]
应该这样做。