我需要一个帮助的博客,这是在核心php,并希望创建一个漂亮的网址使用。
我有一个名为blog的文件夹,其中有两个文件。
index.php这是一个博客页面post.php这显示一个单独的博客文章
所以我想达到目的是
https://example.com/blog/
它显示index.php中的数据
在post.php上,我使用url slug而不是使用id来获取数据,所以如果有人写
https://example.com/blog/my-blogpost-url-slug
它需要调用post.php,它有逻辑来获取url,所以它将被post。php?url=my-blogpost-url-slug将被转换为https://example.com/blog/my-blogpost-url-slug
基本上
https://example.com/blog/index.php应该像www.example.com一样打开example.com/blog/https://example.com/blog/post?url=mypost-url-slug应该像https://example.com/blog/mypost-url-slug一样打开
下面的代码我试过,但它是不工作...
所有的index.php都被重定向到post.php,并且url参数获取的值是post.php而不是slug url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
RewriteRule ^([\S\s/+.]+)/?$ post.php?url=$1 [NC,L]
1条答案
按热度按时间bogh5gae1#
使用显示示例,请尝试以下.htaccess规则文件
请确保: