gpt4 book ai didi

.htaccess 文件在 Ubuntu 服务器上被忽略

转载 作者:行者123 更新时间:2023-12-04 18:32:26 30 4
gpt4 key购买 nike

我最近为我的网站搬到了一个新服务器,我成功激活了 mod_rewrite,但有些文件仍然无法正常工作!

像这个:

RewriteRule ^activate\/(.*)\/(.*)$  activate.php?Email=$1&hash=$2

我已经在我的 VPS (Ubuntu) 上进行了所有必要的更改!

任何想法 ?

像这样行很好用:
RewriteRule ^search\/(.*)\/([a-zA-Z0-9_-]+)$  search.php?view=$1&p=$2
RewriteRule ^search$ searchResults.php
RewriteRule ^term$ term.php
RewriteRule ^faq$ faq.php
# Non-working line...
RewriteRule ^activate\/(.*)\/(.*)$ activate.php?Email=$1&hash=$2

请注意, mod_rewrite 已启用,所有其他行仅此一条运行良好!

最佳答案

第一件事,你必须定义一个 RewriteBase因为您的两条规则(第一条和最后一条)创建了两个虚拟目录。

然后,您应该禁用 MultiViews制作term的选项或 faq规则工作没有问题。

最后,您可以以更通用的方式(或至少以更好、更精确的方式)重写您的模式。另外,不要忘记L在每条规则之后标记 ( [L] ),否则 mod_rewrite 继续评估下一条规则。

您可以用这个替换您当前的 htaccess 代码(假设您的 htaccess 在根文件夹中)

Options -MultiViews

RewriteEngine On
RewriteBase /

RewriteRule ^search/([^/]+)/([^/]+)$ search.php?view=$1&p=$2 [L]
RewriteRule ^search$ searchResults.php [L]
RewriteRule ^term$ term.php [L]
RewriteRule ^faq$ faq.php [L]
RewriteRule ^activate/([^/]+)/([^/]+)$ activate.php?Email=$1&hash=$2 [L]

关于.htaccess 文件在 Ubuntu 服务器上被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691980/

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