htaccess投掷500错误

时间:2015-04-07 15:28:58

标签: php .htaccess

<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>

上面是我的htaccess文件,我正在尝试创建一个故事阅读网站。

我试图缩短

的示例链接
http://read.mydomain.com/chapter/three_little_fox/

所以在查询时

/chapter/three_little_fox

它实际上会加载readchapter.php?id = three_little_fox

但是当我尝试加载页面时

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

它会引发内部500错误。

感谢您的帮助

目前的.htaccess

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

但是存在404错误,我的文件夹是这样的

.htaccess
readchapter.php
index.php

2 个答案:

答案 0 :(得分:0)

这对你有用:

RewriteEngine On
RewriteRule ^chapter/([^/]*)$ /readchapter.php?id=$1 [L]

答案 1 :(得分:0)

试试这个

<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(重写条件)确保如果请求已经用于文件或目录,则将跳过RewriteRule。