[英]Server Errors with .htaccess mod_rewrite
在我的本地主机上,没有问题,但是当我将.htaccess文件上传到1and1托管帐户时,我遇到了砖墙(内部500服务器错误)
更新:我找到了有问题的代码,只是不知道为什么它坏了或如何解决(我注释掉了虚线)
#RewriteRule ^([a-zA-Z_\-/]+)(\/?)$ index.php?p=$1 [R,NC,QSA,L]
RewriteRule ^([a-zA-Z_/]+)(\/?)$ index.php?p=$1 [R,NC,QSA,L]
.htaccess文件内容:
AddType x-mapp-php5 .php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteRule ^([a-zA-Z_\-/]+)(\/?)$ /index.php?p=$1 [L]
注释掉最后一行(RewriteRule ...)可以阻止发生错误,但是我显然需要此功能。
该文件在本地计算机上对我来说正常工作。 好吧,它有点不同,所以我也将包含该代码(差异:标志,'/ NEP'和第一行)
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteRule ^([a-zA-Z_\-/]+)(\/?)$ /NEP2/index.php?p=$1 [NC,QSA,L]
我尝试执行的几个重写示例:
dev.mydomain.com/services/ => dev.mydomain.com/index.php?p=services
dev.mydomain.com/quality/control => dev.mydomain.com/index.php?p=quality/control
您能提供的任何帮助/建议将不胜感激。 我真的需要在一天结束前完成这项工作。
字符集中的连字符/破折号用作范围运算符(请考虑0-9或az)。 将其放在中间或结尾可能会出现问题。
将其移动到字符集的开头可以避免此问题,这意味着您不必使用\\
进行转义:
[-a-zA-Z_/]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.