我正在通过def test_collumntype_appuser(db_handle):
appuser = Appuser(
username="George A",
email="g.a@yahoo.com",
phonenumber="abcd"
)
db_handle.session.add(appuser)
with pytest.raises(Exception):
db_handle.session.commit()
The Method looks like below -
class Appuser(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(256), nullable=False)
email = db.Column(db.String(256), nullable=False)
phonenumber = db.Column(db.Integer, nullable=False)
虚拟主机文件中的以下代码将网站的子文件夹重写为子域:
Apache
所以https://example.com/web/crm/ RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. example.com
RewriteCond %{HTTP_HOST} ^(www\.)?(([^\.]+)\.){1}example.com$
RewriteCond /var/www/example.com/web/crm/build/%3 -d
RewriteRule ^/(.*) /crm/build/%3/$1
= https:// folder
.example.com
我也正在使用folder
在.htaccess
网址中隐藏/index.php /
codeigniter
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
AddDefaultCharset utf-8
工作正常
example.com/web/crm/folder
我收到505内部错误,一旦我删除了.htaccess中的行或仅通过folder.example.com/index.php/访问简单网站(日志中没有任何内容)
我想修复子域的重写冲突
答案 0 :(得分:0)
好的,有两个建议:
很高兴知道是什么特定的服务器端错误导致了HTTP 505。
请从服务器日志中复制/粘贴准确的消息到您的帖子中。
很高兴知道确切地解释您的重写规则的方式。
请启用以下日志记录:
How to debug Apache mod_rewrite
mod_rewrite提供了它在trace1到 trace8日志级别。日志级别可以专门设置为 使用LogLevel指令的mod_rewrite:最高级别的调试,否 记录操作,而trace8表示实际上所有操作 被记录。
示例
LogLevel alert rewrite:trace6
George Samarguliani添加了此注释,它解释了HTTP 505错误:
在虚拟主机文件作业中添加重写日志规则后,apache无法启动 httpd.service失败,因为控制进程退出并出现错误 码。请参阅“ systemctl状态httpd.service”和“ journalctl -xe”以了解 详细信息。
我将上面的虚拟主机代码片段复制/粘贴到了第一个方便的Apache配置验证器https://htaccess.madewithlove.be/中,并得到了以下内容:
所以现在至少我们知道是什么导致了服务器端错误:Apache vhost配置。
新建议:
至于“ index.php”,我什至都不认为您需要或想要重新编写规则。
只需配置“ DirectoryIndex”,就像这样:
<Directory /myapp>
DirectoryIndex index.php
</Directory>
关于URL的其余部分(例如“ http://example.com/web/crm/build/`),请在示例之前/之后更新您希望重定向如何实际起作用的示例。
关于使用.httaccess / mod_rewrite规则,有很多很好的“ howtos”,其中有很好的示例。例如:
答案 1 :(得分:0)
固定
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>