首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php - Htaccess作为假目录

php - Htaccess作为假目录
EN

Stack Overflow用户
提问于 2016-06-11 22:16:24
回答 2查看 122关注 0票数 1

我正在做一个小博客,可以让它的url看起来像这样:

代码语言:javascript
复制
From: http://127.0.0.1/index.php?post=the-story-of-us
To: http://127.0.0.1/view/the-story-of-us

我试过了,但我得到了404 not found.

代码语言:javascript
复制
RewriteEngine on

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /index\.php\?post=([^&]+)
RewriteRule ^ /view/%2/? [L,R=301]
EN

回答 2

Stack Overflow用户

发布于 2016-06-11 22:27:26

我不理解你的RewriteCondition,但是RewriteRule应该是这样的:

代码语言:javascript
复制
RewriteEngine on
RewriteBase /

RewriteRule ^view/(.*)/? ./index.php?post=$1 [L,R=301]
票数 0
EN

Stack Overflow用户

发布于 2016-06-12 00:23:49

您当前的规则仅处理这种情况:旧url重定向到新url。

(顺便说一句,+1表示使用THE_REQUEST避免重定向循环)

您还需要处理这种情况:(在内部)将新的重写为旧的url。

下面是htaccess应该是什么样子的

代码语言:javascript
复制
RewriteEngine On

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

# Internally rewrite back /view/XXX to /index.php?post=XXX
RewriteRule ^view/([^/]+)$ /index.php?post=$1 [L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37764756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档