URL 重写 .htaccess

2024-05-07

我正准备开发一个具有以下 url 结构的网站。

我是 url 重写的新手,想知道处理此问题的最佳方法。

http://domain.com                    index.php
http://domain.com/about              about.php
http://domain.com/agencies           agencies.php
http://domain.com/contact            contact.php
http://domain.com/publisher          publisher.php
http://domain.com/publisher/sign_up  publisher_signup.php
http://domain.com/agencies/sign_up   agencies_signup.php
http://domain.com/agencies/login     login.php
http://domain.com/advertiser         advertiser.php
http://domain.com/advertiser/sign_up advertiser_signup.php
http://domain.com/advertiser/login   login.php

最有效的 htaccess 重写规则是什么?

我应该手动输入重写的每一行,还是可以使用一些好的搜索/替换?

我认为从长远来看,网址中的斜杠数量可能最多为 4 个 例如

 http://domain.com/area/sub_area/sub_area2/sub_area3

任何帮助将不胜感激。


抱歉,您的“URL”转换不是同质的(= 不可能“概括”,因为它们不共享exactly相同的原则)所以这是我能做的最好的事情:

RewriteEngine On
^/?$ index.php [NC,QSA,L]
^/?about$ about.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L]
^/?(publisher|agencies|advertiser)/sign_up$  /$1_signup.php [NC,QSA,L]
^/?(publisher|agencies|advertiser)/login$    /login.php [NC,QSA,L]

但如果你想要“同质”的东西,但不完全符合你的要求,你可能有这样的“更干净”的规则:

RewriteEngine On
^/?$ index.php [NC,QSA,L]
^/?about$ about.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)/sign_up$ /$1_signup.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)/login$ /login.php [NC,QSA,L]

如果你真的想集中一切,你可以这样做 (= 将类型传递给php file):

RewriteEngine On
^/?$ index.php [NC,QSA,L]
^/?about$ about.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)/(sign_up|login)$ /$2.php?type=$1 [NC,QSA,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

URL 重写 .htaccess 的相关文章

随机推荐

  • 无法从 ASP.NET 调用 DLL

    您好 我有一个 C Dll 它将与 cobol 应用程序交互 我们想通过互联网将数据发送到cobol 所以我创建了一个 C DLL 它将调用 C DLL 当我执行控制台应用程序时 它工作正常 但是当我尝试从 ASP NET 调用相同的 DL
  • 在 WSL 实例之间共享 Docker 守护进程

    关于在没有 Docker Desktop 的情况下从 WSL 中运行 Docker 有一篇综合文章here https dev to bowmanjd install docker on windows wsl without docker
  • 从单个应用程序中的多个线程调用 dll 函数是否安全?

    我正在 Delphi 2009 中编写一个服务器应用程序 它实现了多种类型的身份验证 每种身份验证方法都存储在单独的 dll 中 第一次使用身份验证方法时 会加载适当的 dll 仅当应用程序关闭时 DLL 才会被释放 在服务器线程 连接 之
  • Jekyll 可以根据 URL 参数提供内容吗?

    我正在将博客从 WordPress 迁移到 GitHub 页面 在我的网站日志中 我注意到有很多这样的请求 GET wp feed atom 此 301 重定向到该站点的 ATOM 提要 我本来打算用httrack抓取我的网站并迁移所有静态
  • 如何在 jinja2 中缩进嵌套的 if/for 语句

    我有一个很长的 Jinja2 模板 其中有很多嵌套if for声明 很难读 我想缩进 位 使其更清晰 但是 如果我这样做 这些块的内容也会进一步缩进 我怎样才能缩进just the bits 我正在使用安塞布尔 重现步骤 template
  • Apple 应用程序加载器 - 如何更改正在使用的 Apple ID?

    我想切换 Apple App Loader 使用的 Apple ID 我找不到更改应用程序本身使用的帐户的方法 谷歌搜索没有带来任何有用的信息 当我启动加载程序应用程序时 它给我一个错误 您的 Apple ID 或密码输入不正确 20101
  • 解决斐波那契数列的 Lisp 方法

    我想尝试学习 Lisp 但很快就放弃了 我想我会再试一次 我正在看 求 400 万以下所有偶数斐波那契数的总和 我写了下面的代码 它可以工作 但是很丑陋 其中最主要的是它太慢了 因为它一直在进行简单的递归 当我用 Python 编写这个程序
  • 将 PDF 存储在 MySQL 数据库中

    我正在开发一个应用程序 我需要创建 PDF 格式的发票 我在用着pdf包 https github com psliwa PdfBundle并且 PDF 文件已正确创建 public function helloAction format
  • 如何以最大窗口形式保存 matplotlib 图而不是默认大小?

    有人知道我应该如何解决这个问题吗 我知道有一个保存按钮 我可以手动执行此操作 但我正在绘制 100 多个图表 所以我希望有一种方法可以自动执行此操作 我正在使用 TkAgg 后端 并寻找任何可能的解决方案 通过在我的绘图函数末尾使用以下内容
  • 如何在 Android RecyclerView 中显示一组项目的日期/日期

    您好 我在 JSONArray 中获取数据如下 chatArray msg id 193 user id 15235 first name Vishal user name vishal13 message twilio chat time
  • 是否可以在 R 中为 data.frame 命名别名

    使用某些数据标准时 使用多种方法来查看 data frame 的列会更简单 作为一个具体示例 在使用 SDTM 数据进行临床试验时 每种数据类型 如实验室或生命体征 都有一列时间点 实验室名称为 LBPT 生命体征名称为 VSTPT 理想情
  • 在 C 中使用 sqrtf():“未定义对‘sqrtf’的引用”

    我正在使用Linux Ubuntu 12 04 https en wikipedia org wiki Ubuntu version history Ubuntu 12 04 LTS 28Precise Pangolin 29 Precis
  • Linux shell 命令逐块读取/打印文件

    是否有一个标准的 Linux 命令可以用来逐块读取文件 例如 我有一个大小为 6kB 的文件 我想读取 打印第一个 1kB 然后是第二个 1kB 看来猫 头 尾在这种情况下不起作用 非常感谢 你可以这样做read n在循环中 while r
  • 将类添加到一组

    我有一群 ul 是动态创建的 我需要在最后添加一个类 li 每一个 I have ul li last each function this addClass last 但这仅仅增加了一个class last 到最后 ul 不在所有的 ul
  • jQuery 选择除最后一个之外的所有内容

    使用 jQuery 如何选择除最后一个元素之外的所有元素 div class elem 1 div div class elem 2 div div class elem 3 div 例如 我想隐藏 div 的 1 和 2 但保留 3 di
  • 为什么人们在 ICommand 上使用 CommandManager.InvalidateRequerySuggested()?

    我正在制作自己的一些自定义 ICommand 实现 我看到很多实现都是这样的 public event EventHandler CanExecuteChanged add CommandManager RequerySuggested v
  • Lego Mindstorm NXT 的 C# 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有适用于 Lego Mindstorm NXT 的最新 C NET 库 NXT NET 乐高头脑风暴 最后更新时间 2008 年 4
  • subprocess.Popen args 参数的最大长度是多少?

    我在用Popen http docs python org library subprocess html using the subprocess modulesubprocess 模块中的函数来执行命令行工具 subprocess Po
  • Xcode 4.4 和 4.5 在项目关闭时冻结

    自从升级到 Xcode 4 4 并再次升级到 4 5 在 Lion 上运行 后 每次我关闭应用程序项目或退出时 Xcode 都会冻结大约 3 5 分钟 在此期间 活动监视器显示 CPU 占用率为 95 但几乎没有发生磁盘活动 我尝试过卸载并
  • URL 重写 .htaccess

    我正准备开发一个具有以下 url 结构的网站 我是 url 重写的新手 想知道处理此问题的最佳方法 http domain com index php http domain com about about php http domain