问题标签 [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.
.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/
),那么它说它找不到文件。
.htaccess - 为什么我必须在我的 mod rewrite url 中添加一个未使用的变量?
我的 htaccess 文件有以下代码:
它工作正常但是当我在 index.php 上打印出 get 数组时,它会忽略第一个变量,所以我必须做类似的事情spareslist.com/randomthing/page/var1/var2
我如何能够使用它而不必在其他人之前有一个随机变量?
nginx - 如何在 nginx 中隐藏文件扩展名
来自 Apache 背景,过去我使用一对重写规则隐藏了 .html 文件扩展名:
nginx 的重写能力是不同的,一个可能的解决方案在这里,但是,nginx wiki 建议尽可能避免 ifs 是最好的解决方案,并讨论使用 ( try_files
) 代替。我想知道是否有人有最好的方法来实现这样的东西,同时:
在某些情况下有效,您会遇到大量重定向问题等。在这种情况下有什么方法可以避免 ifs 吗?
php - 清理 url 和重复页面(从一开始就强制规范)。
我正在尝试通过 htaccess 找到执行以下操作的方法。
- 删除 (.php) 扩展名
- 删除尾部斜杠 (/)
- 将以前的 (.php) 页面重定向到非 php 页面
- 将根索引的所有跟踪重定向到根域
这是目录结构的示例。
更新:
这就是我当前的配置,使用 php 委派规范链接并执行重定向/显示 404。如果您发现它有问题或可以提供更好的解决方案,我将非常感激。现在下面的代码可以工作,通过给每个 php 文件它自己的特定于页面的规范链接函数。然后,该函数会识别当前页面是否与规范页面相同,否则将引发错误,使预期页面成为唯一可以访问内容的页面。
.htaccess - Htaccess重写规则?
所以我的网址目前是:
我希望它可以通过以下方式访问:
现在我还实现了 .php 文件的重写,如下所示
我现在有点困惑,因为search.php
正在重写为 justsearch
但仍然可以使用search.php
,所以当我创建我的重写规则时,我是重写search.php
还是只是search
?.. 无论哪种方式我都尝试过但未能完成它,哈哈。
我应该添加什么来获得我想要的网址?非常感谢您的帮助:)
apache - 使用 Apache Rewrite 忽略斜杠
我正在使用 mod_rewrite 进行重定向,如下所示:
RewriteRule (work)/?$ $1.php [L]
/work
这会将任何以或结尾的 URL 发送/work/
到work.php
问题是,当包含尾部斜杠时,它会将其视为一个目录,而不是它真正的文件。当然,这会破坏我在文件中的所有相对路径。
我不介意 URL 中有斜杠,但是有什么方法可以使用 Apache忽略尾部斜杠,并将 URL 视为文件,就像没有斜杠一样?
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 代码将传入的请求重定向到前端控制器:
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?
对不起我可怜的解释。我希望这是有道理的。
谢谢!
path - 我可以在 drupal 中键入一个干净的 url,然后将其转换为带有查询字符串的 url 吗?
我正在创建一个 drupal 站点,该站点应包含一个功能,该功能将把一个干净的 url 变成带有查询字符串的 aa url。
它应该工作的方式是:
- 用户可以在 url 栏中输入任何干净的 url,例如 www.example.com/hobbies/skiing。
- 这是我的问题:
在 .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时有效.
你能帮我做这个吗?
php - 干净 URL 上的 PHP 问号
我目前正在尝试了解干净的网址。我曾经使用过Windows。我突然切换到 ubuntu 时我的 .htaccess 似乎在这里不起作用是我的 htaccess
所以我有这个网址
我期待它在浏览器中说出“my_name”字符串
你好我的名字
但它只会在我添加“?”时起作用 在 uri
我很确定 mod_rewrite 已启用。我什至检查了我的 phpinfo()