dqrb4228 2015-04-07 07:28
浏览 73
已采纳

htaccess投掷500错误

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^read(.+)?$ /read.php?id=$1 [QSA,L]
RewriteRule ^chapter(.+)?$ /readchapter.php?id=$1 [QSA,L]
RewriteRule ^list(.+)?$ /list.php?id=$1 [QSA,L]
</IfModule>

Above is my htaccess file, I trying create a story reading website.

I trying to shorten example link of

http://read.mydomain.com/chapter/three_little_fox/

So when it query

/chapter/three_little_fox

It will actually load readchapter.php?id=three_little_fox

But when I try load the page

http://read.mydomain.com/chapter/three_little_fox/

It throws a Internal 500 error.

Thanks for helping

The current .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^chapter/([^/]*)$ readchapter.php?id=$1 [L]
</IfModule>

But the 404 error exist, my folder is this way

.htaccess
readchapter.php
index.php
  • 写回答

2条回答 默认 最新

  • duanji5116 2015-04-07 08:52
    关注

    Try this

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^chapter/(.*)/?$ /readchapter.php?id=$1 [QSA,NC,L]
    </IfModule>
    

    RewriteCond (Rewrite Conditions) ensures that if the request is already for a file or directory, RewriteRule will be skipped.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?