首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectAdmin Apache - .htaccess重写

DirectAdmin Apache - .htaccess重写
EN

Stack Overflow用户
提问于 2021-07-13 08:22:20
回答 1查看 561关注 0票数 3

我很难重新改写,希望有人知道答案。

这是我目前在.htaccess中使用的代码:

代码语言:javascript
复制
Options +FollowSymLinks
RewriteEngine on
RewriteBase /point/to/dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\d+/.*)$ https://domain.ext/point/to/dir/module/status.php?id=$1 [L,QSA]

客户端从服务器请求domain.ext/point/ to /dir/,应该将其重写到https://domain.ext/point/to/dir/module/status.php

有可能将查询添加到/point/ to /dir/请求的末尾,该请求应该附加到https://domain.ext/point/to/dir/module/status.php。/point/to/dir/是服务器上不存在的位置。

不管我做什么,我都会得到内部服务器错误(不正确的.htaccess配置/语法)或404。希望有人能帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-13 08:28:42

在显示的示例中,以下列方式保存htaccess规则文件。确保您将路径从point/to/dir更改为实际路径(不要将/放在前面,否则不起作用)。

这是假设您的点/do/dir在模块文件夹中也有模块文件夹和index.php。

在测试URL之前,一定要清除浏览器缓存。

代码语言:javascript
复制
Options +FollowSymLinks
RewriteEngine on
RewriteBase /point/to/dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(point/to/dir)/(.*)/?$ https://domain.ext/$1/module/status.php?id=$2 [NC,L,QSA]

,如果您是在同一个域名,那么您就不必在重写的权利部分提到完整的url,然后按下面的方式进行,确保要么使用以上的规则,要么一次只使用一个规则。

代码语言:javascript
复制
Options +FollowSymLinks
RewriteEngine on
RewriteBase /point/to/dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(point/to/dir)/(.*)/?$ $1/module/status.php?id=$2 [NC,L,QSA]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68358903

复制
相关文章

相似问题

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