以下是我目前的情况:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
#the rule
RewriteRule ^post.php?id=([a-z0-9-]+)$ /post/$1.php
# how my url’s look like: http://localhost/post.php?id=article-slug-name
# how i want them to look like http://localhost/post/article-slug-name
ErrorDocument 404 /404.php
正如文件上所说
- 我的网址是这样的:http://localhost/post.php?id=article-slug-name
- 我希望它们看起来像 http://localhost/post/article-slug-name
我已经尝试了好几天,搜索了所有论坛,但就是无法让它工作……文件可以工作,因为我在最后包含的 enable-404-page 命令可以工作。任何帮助都非常感谢!
答案1
我已经有一段时间没有使用重写规则了,但我相信顺序是:
RewriteRule reg-exp-source destination
所以你的规则应该是这样的
RewriteRule ^post/([a-z0-9-]+)$ post.php?id=$1
此外,我通常使用标准([^/\.]+)
以避免在另一个斜杠、反斜杠或点后拾取内容。