.htaccess 配置无法正常工作

.htaccess 配置无法正常工作

以下是我目前的情况:

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

此外,我通常使用标准([^/\.]+)以避免在另一个斜杠、反斜杠或点后拾取内容。

相关内容