URL重写-内部服务器错误


URL Rewrite - Internal server error

嗨,我想将当前url 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]

您的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]

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

也许可以设置-MultiViews选项。