当我尝试使用mod_rewrite将示例1更改为示例2时,我不断收到500内部服务器错误。有人可以帮我解决这个问题吗?
示例1
http://www.example.com/posts/1/abcd
示例2
http://www.example.com/posts.php?aid=$1
这是我的mod重写。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.example.com/ [R=301,L]
RewriteRule ^(-[1-9]+)? $ http://www.example.com/posts.php?aid=$1 [L]
</IfModule>
答案 0 :(得分:1)
尝试将您的上一个RewriteRule更改为以下内容:
RewriteRule ^([A-Za-z0-9-]+)/?$ http://www.example.com/posts.php?aid=$1 [L]