问题标签 [clean-urls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
374 浏览

.htaccess - 如何将第二个可能的变量添加到干净的 url?

我已经为 URL 创建了一个 htaccess 重写代码,因此当用户访问myurl.com/testing/它时会显示它们,index.php?page=testing但是我希望有第二个或第三个页面,这样它看起来就像myurl.com/testing/2832/9283并会显示用户index.php?page=testing&var1=2832&var2=9283

这是我目前拥有的代码:

这可行,但我想让变量成为可选的。如果我没有第二个变量(即只是myurl.com/testing/),那么它说它找不到文件。

0 投票
1 回答
93 浏览

.htaccess - 为什么我必须在我的 mod rewrite url 中添加一个未使用的变量?

我的 htaccess 文件有以下代码:

它工作正常但是当我在 index.php 上打印出 get 数组时,它会忽略第一个变量,所以我必须做类似的事情spareslist.com/randomthing/page/var1/var2

我如何能够使用它而不必在其他人之前有一个随机变量?

0 投票
1 回答
3267 浏览

nginx - 如何在 nginx 中隐藏文件扩展名

来自 Apache 背景,过去我使用一对重写规则隐藏了 .html 文件扩展名:

nginx 的重写能力是不同的,一个可能的解决方案在这里,但是,nginx wiki 建议尽可能避免 ifs 是最好的解决方案,并讨论使用 ( try_files) 代替。我想知道是否有人有最好的方法来实现这样的东西,同时:

在某些情况下有效,您会遇到大量重定向问题等。在这种情况下有什么方法可以避免 ifs 吗?

0 投票
1 回答
463 浏览

php - 清理 url 和重复页面(从一开始就强制规范)。

我正在尝试通过 htaccess 找到执行以下操作的方法。

  1. 删除 (.php) 扩展名
  2. 删除尾部斜杠 (/)
  3. 将以前的 (.php) 页面重定向到非 php 页面
  4. 将根索引的所有跟踪重定向到根域

这是目录结构的示例。

更新:

这就是我当前的配置,使用 php 委派规范链接并执行重定向/显示 404。如果您发现它有问题或可以提供更好的解决方案,我将非常感激。现在下面的代码可以工作,通过给每个 php 文件它自己的特定于页面的规范链接函数。然后,该函数会识别当前页面是否与规范页面相同,否则将引发错误,使预期页面成为唯一可以访问内容的页面。

0 投票
1 回答
172 浏览

.htaccess - Htaccess重写规则?

所以我的网址目前是:

http://www.mywebsite.com/search.php?keyword=stack+overflow

我希望它可以通过以下方式访问:

http://www.mywebsite.com/?s=stack+overflow

现在我还实现了 .php 文件的重写,如下所示

我现在有点困惑,因为search.php正在重写为 justsearch但仍然可以使用search.php,所以当我创建我的重写规则时,我是重写search.php还是只是search?.. 无论哪种方式我都尝试过但未能完成它,哈哈。

我应该添加什么来获得我想要的网址?非常感谢您的帮助:)

0 投票
1 回答
1276 浏览

apache - 使用 Apache Rewrite 忽略斜杠

我正在使用 mod_rewrite 进行重定向,如下所示:

RewriteRule (work)/?$ $1.php [L]

/work这会将任何以或结尾的 URL 发送/work/work.php

问题是,当包含尾部斜杠时,它会将其视为一个目录,而不是它真正的文件。当然,这会破坏我在文件中的所有相对路径。

我不介意 URL 中有斜杠,但是有什么方法可以使用 Apache忽略尾部斜杠,并将 URL 视为文件,就像没有斜杠一样?

0 投票
1 回答
474 浏览

php - 使用“干净网址”时使用相对网址?

我将所有 url 请求定向到前端控制器。url 请求看起来像example.com/controller/action/etc. 问题是,在程序中使用相对 url。如果 url 请求中只有一个斜杠,这可以正常工作,但如果有多个斜杠,则相对 url 会损坏。

在位置example.com/controller,相对 urlother-controller可以很好地将用户带到example.com/other-controller

在 location example.com/controller/action,相对 urlother-controller无法将用户带到example.com/controller/other-controller.

关于如何解决这个问题的任何建议?希望每次我想在应用程序中创建一个 url 时,我都可以在不使用绝对路径或一些 url 生成代码的情况下做到这一点。

万一这很重要,我目前正在使用这个 .htaccess 代码将传入的请求重定向到前端控制器:

0 投票
2 回答
1913 浏览

php - 在没有 mod_rewrite 的 PHP 中清理 URL

我正在为我用 PHP(我很少使用)为客户端构建的站点开发一个后端,该站点几乎完成了。我主要是 Rails 开发人员,所以我很难不去使用一些混蛋版本的 CRUD 设置,我正在尝试清理 url。

我希望我的网址是这样的:

http://www.example.com/videos/name-of-video/

我打算只取最后一点的 url$_SERVER['PHP_SELF']并使用它搜索数据库,但我想做的是把 index.php 文件扔到http://www.example.com/videos/目录和当我明确指出某人指向http://www.example.com/videos/name-of-video/时是否可以使用它,如果这有意义的话。

如果我将 index.php 放在 /videos/ 目录中,这会按原样工作,还是需要其他东西?有没有可能不搞乱htaccess?

对不起我可怜的解释。我希望这是有道理的。

谢谢!

0 投票
1 回答
392 浏览

path - 我可以在 drupal 中键入一个干净的 url,然后将其转换为带有查询字符串的 url 吗?

我正在创建一个 drupal 站点,该站点应包含一个功能,该功能将把一个干净的 url 变成带有查询字符串的 aa url。

它应该工作的方式是:

  1. 用户可以在 url 栏中输入任何干净的 url,例如 www.example.com/hobbies/skiing。
  2. 这是我的问题:

在 .htaccess 里面我放了这行代码:

在drupal中,我创建了一个启用PHP过滤器的页面,然后输入

RewriteRule 应该www.example.com/hobbies/skiing变成,www.example.com/index.php?hobbies=skiing但我猜代码没有按预期工作,或者 drupal 运行的代码要么跳过 .htaccess 命令或其他东西。

3.一旦url被翻译成脏url,页面将显示hobbies的值是什么,因为代码在你直接在url栏中输入www.example.com/index.php?hobbies=skiing时有效.

你能帮我做这个吗?

0 投票
2 回答
271 浏览

php - 干净 URL 上的 PHP 问号

我目前正在尝试了解干净的网址。我曾经使用过Windows。我突然切换到 ubuntu 时我的 .htaccess 似乎在这里不起作用是我的 htaccess

所以我有这个网址

http://localhost/index.php/my_name/

我期待它在浏览器中说出“my_name”字符串

你好我的名字

但它只会在我添加“?”时起作用 在 uri

http://localhost/index.php?/my_name/

我很确定 mod_rewrite 已启用。我什至检查了我的 phpinfo()