gpt4 book ai didi

url - .htaccess RewriteRule 将目录类型的 URL 结构转换为查询

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:39:23 24 4
gpt4 key购买 nike

我知道这个问题已经被问过/回答过好几次了,但我似乎无法通过它。所以,我很抱歉...

在站点开发阶段,我希望浏览器地址栏显示:domain.com/dev/item

我希望 RewriteRule 将其更改为:domain.com/dev/index.php?p=item

我为此使用位于 public_html 目录中的 .htaccess。 public_html/dev 中的 .htaccess 工作正常,配置为将所有未使用我的 ip 的人重定向到 domain.com。我的 apache 版本是 2.2.15,我已经确认我可以使用 .htaccess 进行重定向,但是顶级 .htacess 根本不起作用。这是我使用的代码:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^dev/(.*)$ dev/index.php?p=$1 [NC]
#variations tried: ^dev/(.*)+$, ^dev/(.*)+?$

包括变体,导致 404,/dev/item 未找到。从 ^dev/(.*)$ 中删除 dev/导致正确的 url 格式,但以下服务器变量:

[REDIRECT_QUERY_STRING] => p=
[REDIRECT_URL] => /404.shtml
[QUERY_STRING] => p=
[REQUEST_URI] => /dev/item

我的目标是做一个小改动,以支持实时站点和开发副本的这种类型的重写。但我就是不明白我做错了什么。我真的很感激任何帮助。

最佳答案

您需要在重写路径的开头指定/。

试试这个:

RewriteEngine on
RewriteBase /

# If request is for a file that does actually exist, don't rewrite.
RewriteCond %{REQUEST_FILENAME} !-f
# If request is for a directory that does actually exist, don't rewrite.
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/dev/(.*)$ /dev/index.php?p=$1 [NC]

关于url - .htaccess RewriteRule 将目录类型的 URL 结构转换为查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4168611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com