嗨,我想将当前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
选项。