htaccess 重写规则,将根 URL 指向 index.php 虚假目录,再指向不同的 .php 文件

htaccess 重写规则,将根 URL 指向 index.php 虚假目录,再指向不同的 .php 文件

我一直在苦苦思索究竟该搜索什么才能找到这个问题的答案,所以我想我应该问一下。

我正在用 PHP 构建一个小型 CMS 脚本,并希望美化我的 URL。我可以将根级请求index.php作为变量发送到我的 URL,例如example.com/index.php?p=about-us发送到example.com/about-us。但是,如果不删除此功能,我想将请求重定向example.com/blog/a-postexample.com/blog.php?b=a-post。如何才能实现这一点,而不会被原始索引重写所消耗?

如果我用来描述我的问题的术语不太正确,我深感抱歉,因为我已经有一段时间没有进行任何编码了,而且我感觉生疏极了!

- 编辑 -

我目前拥有的代码如下:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+index\.php\?([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L,QSA]

我希望用户能够访问该网址

url.com/blog/a-post

但我希望它能真正访问

url.com/blog.php?b=a-post

答案1

RewriteEngine On
RewriteRule ^work(.*)/([^/]*) work-single.php$1?slug=$2 [QSA]

work 是伪文件夹,work-single.php 是获取变量请求的文件

相关内容