URL重写 - 内部服务器错误

时间:2014-09-23 07:48:45

标签: php apache .htaccess mod-rewrite

您好我想将当前网址www.website.com/books.php?tk=3ba89ffd更改为www.website.com/books/3ba89ffd但我的htaccess文件却给我一个内部服务器错误。我正在使用WAMP 重写模块已开启。

这是我的.htaccess

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME}!-d
RewriteCond %{SCRIPT_FILENAME}!-f
RewriteCond %{SCRIPT_FILENAME}!-l

RewriteRule ^/books/([a-zA-Z0-9]+)$ /books.php?tk=$1 [L]

2 个答案:

答案 0 :(得分:1)

您的RewriteCond存在一些语法问题,然后在模式中,您需要在.htaccess中执行此操作时取消前导斜杠。

这样做:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^books/([a-zA-Z0-9]+)/?$ /books.php?tk=$1 [L,QSA,NC]

答案 1 :(得分:1)

我认为问题在于您无法在.htaccess文件中设置选项。删除该行并在vhost中设置值。

也许设置-MultiViews选项。