【问题标题】:Error 500 while using htaccess使用 htaccess 时出现错误 500
【发布时间】:2014-08-25 14:19:58
【问题描述】:

我无法在我的网站中使用子域。它返回为:

错误 500 ,内部服务器错误。

当我检查时,我发现问题出在我的 htaccess 文件上。

RewriteEngine On
Options -Indexes

RewriteRule    ^contest/?$    contest.php    [NC,L]
RewriteRule    ^contest/(.+)/?$    contest.php?name=$1&id=htapappu    [NC,L]

RewriteRule    ^news/?$    news.php    [NC,L]
RewriteRule    ^news/(.+)/?$    news.php?newsid=$1    [NC,L]

RewriteRule    ^projects/?$    projects.php    [NC,L]
RewriteRule    ^projects/(.+)/?$    projects.php?projectid=$1    [NC,L]

RewriteRule    ^page/?$    page.php    [NC,L]
RewriteRule    ^page/(.+)/?$    page.php?feed=$1    [NC,L]

RewriteRule    ^photos/?$    photos.php    [NC,L]
RewriteRule    ^photos/(.+)/?$    photos.php?catg=$1    [NC,L]

RewriteRule    ^profile/complete/?$    complete_profile.php    [NC,L]

RewriteRule    ^profile/picture/?$    set_profile_pic.php    [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ member.php?userismnob=$1&redirect=me    [NC,L]

问题在最后一行。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ member.php?userismnob=$1&redirect=me    [NC,L]

当我删除最后两行时,没有问题。我认为这是一个小问题。

【问题讨论】:

  • 你想让这两行做什么?
  • @BernardoLima 如果用户在地址栏中输入此(www.mysite.com/username),则页面来自 www.mysite.com/member.php?userismnob=$1&redirect=me
  • www.mysite.com/username URL 是否获得 500?你能检查你的 Apache error.log
  • @Abubhava:没有,www.mysite.com/username 没有问题。检查keralaphotography.org/shameel.kadannamanna
  • ok 在下面发布了答案。

标签: regex apache .htaccess mod-rewrite internal-server-error


【解决方案1】:

您可以默认使用DirectoryIndex 指令加载index.php,然后添加一条规则以忽略您的子域的所有重写:

DirectoryIndex index.php
Options -Indexes    
RewriteEngine On
RewriteBase /

# ignore further rules for admin
RewriteCond %{HTTP_HOST} ^admin\. [NC]
RewriteRule ^ - [L]

RewriteRule    ^contest/?$    contest.php    [NC,L]
RewriteRule    ^contest/(.+)/?$    contest.php?name=$1&id=htapappu [NC,L,QSA]

RewriteRule    ^news/?$    news.php    [NC,L]
RewriteRule    ^news/(.+)/?$    news.php?newsid=$1    [NC,L]

RewriteRule    ^projects/?$    projects.php    [NC,L]
RewriteRule    ^projects/(.+)/?$    projects.php?projectid=$1 [NC,L,QSA]

RewriteRule    ^page/?$    page.php    [NC,L]
RewriteRule    ^page/(.+)/?$    page.php?feed=$1 [NC,L,QSA]

RewriteRule    ^photos/?$    photos.php    [NC,L]
RewriteRule    ^photos/(.+)/?$    photos.php?catg=$1    [NC,L,QSA]

RewriteRule    ^profile/complete/?$  complete_profile.php [NC,L]
RewriteRule    ^profile/picture/?$   set_profile_pic.php  [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ member.php?userismnob=$1&redirect=me [NC,L,QSA]

【讨论】:

  • 谢谢...现在它工作得很好..实际上我是一个来自印度的 15 岁男孩..我只在互联网的帮助下学习了 HTML、PHP、HTACCESS,我想了解更多, 你能帮助我吗 ???如果您在 facebook 上可用...请发送请求至 www.facebook.com/shameel.kadannamanna
  • 感谢您在这么小的年纪学到了这么多东西。我在 FB 上不活跃,但您可以在 LinkedIn 上与我联系(查看我的个人资料以了解我的 LinkedIn 句柄)。
  • 好的,我会连接的,谢谢
猜你喜欢
  • 2014-08-09
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多