在 /etc/httpd/conf.d 的自定义conf文件中,您有多个站点和数据库,但在非根文件夹中安装了不同的系统,您是否可以声明多个重写规则,如下所示?我收到错误,没有读取 xml 来安装 joomla 扩展,并且在 tmp 文件夹中找不到它,即使权限和所有权是正确的,所以认为它一定是 conf 文件设置。我不使用.htaccess。然而,如果我通过系统安装扩展安装扩展,它就可以工作。
<Directory /var/www/html/folder1>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^/(.*)$
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^index.php [L]
</Directory>
<Directory /var/www/html/folder2>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^/(.*)$
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^index.php [L]
</Directory>
答案1
这是一个完全有效的配置,尽管您可以通过使用DirectoryMatch
或包含文件来简化它,因为每个文件中的代码都是相同的
<DirectoryMatch "^/var/www/html/(folder1|folder2)">
...
</DirectoryMatch>