Cpanel添加.htaccess后Joomla友好URL与Python应用路径无法共存问题求助
解决方案
步骤1:修改public_html目录下的Joomla .htaccess规则
找到public_html里用来移除Joomla index.php的.htaccess文件,在RewriteEngine On配置行的下方,新增一条排除规则:
# 排除ait-tools目录的请求,不经过Joomla重写规则处理 RewriteRule ^ait-tools($|/) - [L]
这条规则的作用是所有路径以/ait-tools开头的请求,直接跳过后续所有Joomla的重写逻辑,不会被转发给Joomla的index.php处理,同时不会影响Joomla本身的友好URL功能。
步骤2:配置ait-tools目录的.htaccess规则
在ait-tools文件夹下的.htaccess中写入以下配置,确保该目录下所有子路径请求都转发给Flask应用处理:
RewriteEngine On RewriteBase /ait-tools/ # 所有子路径请求都转发给Flask应用入口 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /ait-tools/ [L]
步骤3:修正Flask应用的根路径配置
在Flask启动文件app.py中,添加应用根路径配置,适配子目录部署场景:
app = Flask(__name__) # 新增该行配置,指定应用的根路径为/ait-tools app.config['APPLICATION_ROOT'] = '/ait-tools'
配置完成后,在cPanel的Python应用管理界面重启ait-tools应用,清空浏览器缓存后即可测试:
- Joomla站点的友好URL可正常访问
- /ait-tools和/ait-tools/json路径均可正常加载
内容的提问来源于stack exchange,提问作者Vijay .D.R
相关产品推荐
相关产品推荐

