【问题标题】:Custom URL Creation with .htaccess File and PHP使用 .htaccess 文件和 PHP 创建自定义 URL
【发布时间】:2014-12-29 16:54:57
【问题描述】:

让网站链接是 www.abc.com 我有 3 个 PHP 文件。

  1. index.php
  2. profile.php
  3. group.php

我的当前网址是 -

  1. abc.com/directory/index.php
  2. abc.com/directory/profile.php?name=piash
  3. abc.com/directory/group.php?name=CSE

我想把它转换成-

  1. abc.com/home
  2. abc.com/piash 或 abc.com/abrar(piash 和 abrar 是 profile.php 文件的 GET 参数)
  3. abc.com/group/CSE(CSE 是 group.php 的 GET 参数)

我正在使用原始 PHP。

有可能吗?

如果可能,如何以及在何处放置 .htaccess 文件?

在根目录 (abc.com) 或文件夹 (abc.com/directory) 中?

谁能帮帮我?

提前致谢。

【问题讨论】:

  • 当然,使用 .htaccess 文件绝对是可能的。您还可以让所有请求转到 index.php 并使用路由处理请求。你有没有自己尝试过?
  • 但是,我该怎么做呢?代码是什么?
  • 不不,这不是它的工作原理。您用来尝试此操作的代码在哪里?
  • .htaccess 文件不使用 php 代码。看看这个tutorial。自己尝试一下,如果它不起作用,向我们展示你得到了什么,然后回到这里,发布你的 .htaccess 代码。
  • P.S.我在我的网站上做过类似的事情,所以我知道答案。但是您需要至少自己尝试一下,否则您将一无所获。

标签: php regex .htaccess mod-rewrite redirect


【解决方案1】:

您可以在您的/directory/.htaccess 文件中使用此代码:

DirectoryIndex index.php
RewriteEngine On
RewriteBase /directory/

RewriteRule ^home/?$ index.php [L,NC]

# ignore files/directories from further rules
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^group/([^/]+)/?$ group.php?name=$1 [L,QSA,NC]

RewriteRule ^([^/]+)/?$ profile.php?name=$1 [L,QSA]

参考资料:

【讨论】:

  • 但是 .htaccess 文件应该放在哪里?
猜你喜欢
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 2017-06-24
  • 1970-01-01
  • 2019-04-10
  • 2022-01-26
相关资源
最近更新 更多