【问题标题】:.htaccess to load specific index file when url with 2 variable folders does not exist.htaccess 在不存在具有 2 个变量文件夹的 url 时加载特定的索引文件
【发布时间】:2015-01-31 00:20:46
【问题描述】:

我正在更新一个项目的 url,并拥有这个旧 url:http://www.example.com/phones/nokia/

此文件夹 phonesnokia 是变量文件夹,它们不再存在,但我想捕捉来自它们的旧流量。换句话说,当有人访问旧网址时,我希望 .htaccess 文件加载位于根目录中的 store.php

如何使用 htaccess 执行此操作,以便地址栏中的 url 保持 http://www.example.com/phones/nokia/ 但仍加载 store.php

提前谢谢你! 感谢 Anubhava,我的这段代码只适用于 1 个变量文件夹:

RewriteEngine On
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/$1 !-d
RewriteRule ^([^/]+)/index\.php$ store.php [L,NC]

上面的代码对于 2 个变量文件夹会是什么样子?谢谢

【问题讨论】:

  • 不要对原始帖子进行大量更改。它会使人们感到困惑。相反,如果您有重要的内容要添加,请在现有内容下方添加。

标签: php apache .htaccess mod-rewrite


【解决方案1】:

您可以为此使用一条新规则:

RewriteEngine On
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/$1 !-d
RewriteRule ^([^/]+)/index\.php$ store.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ store.php [L]

【讨论】:

  • 哥们,我佩服你!谢谢!
  • anubhava,是否有可能在 htaccess 中使用此指令:RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)/?$ store.php [L] 刹车ajax 请求?当我尝试将 ajax 请求发送到一个文件时,它会将请求重定向到 store.php 文件,而不是来自 ajax 调用的 returnig 响应?
  • 作为一个魅力工作 :) 谢谢队友!
猜你喜欢
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
相关资源
最近更新 更多