问题标签 [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 投票
0 回答
222 浏览

.htaccess - 重写的干净 URL 未显示为默认 URL

我已经使用.htaccess文件为我的网站创建了重写的 URL。

这是文件的内容。

当我检查时,我发现我的网站页面的新干净 URL 已成功创建。像这样 :

对于原始网址:

新域正确重定向到原始页面并且看起来更清晰。我喜欢。

但问题是,当我点击主页上的页面时,它仍然显示原始网址。如果我在地址栏中输入新的干净 URL,它会正确重定向到页面,但它不是默认 URL。它在那里,但它不会自然地出现在网站上。

如何将新 URL 设置为我网站的默认 URL?.htaccess(也许还在使用?)

0 投票
1 回答
651 浏览

jquery - Drupal 7 菜单但没有干净的网址

我正在开发一个模块,该模块需要对同一模块定义的菜单路径进行 ajax 调用。

下面是 hook_menu 函数:

和js代码:

第一行(对我定义的菜单的调用)失败并在 firebug 中返回 404 错误。

所以,我尝试了一个现有的随机菜单,即以下 2 个菜单。但是我用干净的 URL 做了一个工作,而另一个没有。具有干净 URL 的现有菜单集也失败了,但不是干净 URL 的相同菜单工作正常。

因为无论我尝试什么,我的 localhost 安装都不乐意使用干净的 URL,所以我需要一种技术来使我的模块灵活,无论站点是否使用干净的 URL(特别是如果我最终发布它)。

0 投票
2 回答
552 浏览

apache - .htaccess mod_rewrite 链接到错误的页面

我的 .htaccess 中有以下代码:

RewriteRule ^/?([^/\.]+)/?$ $1.php [L]工作正常。这样做的目的是获取一个类似 urlhttp://www.example.com/whatever并将页面读取为http://www.example.com/whatever.php.

但是,我想要做的是获取一个类似的 urlhttp://www.example.com/whatever.php并自动将其发送到http://www.example.com/whatever,因此是代码的第二行。但是,这是行不通的。它现在所做的是,一旦遇到以 结尾的链接.php,url 就会变成http://localhost/C:/Sites/page/whatever/,并拉出一个403: Forbidden页面。

我只想知道我能做什么,这样它http://www.example.com/whatever.php就会被读取为http://www.example.com/whatever,并且如果http://www.example.com/whatever.php输入到 URL 栏中,它将自动重定向到http://www.example.com/whatever

这有任何意义吗?

编辑

好的,所以看起来我不太清楚.. 基本上,我想在 URL 仍然保持不变的情况/whatever/下阅读,对吗?但是,如果 URL 是,我希望它实际上将用户 URL重定向到,然后再次将其读取为。这可能吗?whatever.php/whatever//whatever.php/whatever/whatever.php

0 投票
3 回答
5946 浏览

.htaccess - Clean URLS/.htaccess

Looking for feedback

Goal: I am trying to enable "Clean URLs" on a Drupal 7 site (such that example.com/?q=user resolves to example.com/user).

I've just spent way too long pouring through official Drupal docs and comments, to no avail, so any suggestions are greatly appreciated!

I have checked the box "Enable Clean URLs" in Drupal (/admin/config/search/clean-urls) and got the all-clear that the configuration options were saved. So now I am actually able to go to example.com/user and it does indeed display the same content as example.com/?q=user. What I want, however, is for example.com/?q=user to be rewritten in the URI as example.com/user.

The relevant .htaccess code is shown above, and my Apache conf appears to be properly configured.

0 投票
1 回答
1484 浏览

node.js - node.js 是否提供了一种编写非平凡的干净 URL 的方法?

我想在 node.js 中编写重要的动态干净 URL。例如

代替

现在我的静态干净 url(浏览、登录、注册等)是基于字符串比较的,这显然不是这个问题的完整解决方案。

是否有本地方式(或轻量级插件)来编写非平凡的干净 URL?

我正在使用 Cloud9 IDE

0 投票
2 回答
2708 浏览

php - 使用 PHP & MySQL 和 htaccess 重写 URL

我有我的网站,因为localhost/tutorials/rewrite/news.php此页面上的标题来自我数据库中的新闻文章。每个标题都是阅读文章的链接。链接是

read-news.php 页面获取 url 并在 sql 语句中使用它从数据库中获取文章

我在 news.php 页面上的链接和 read-news.php 上的 url 看起来像这样

我怎样才能让它看起来像

我使用了以下 htaccess 代码,通过查看我认为应该足以修复它的其他示例

请提供任何帮助

0 投票
3 回答
424 浏览

.htaccess - Mod_Rewrite 和清理 URL 部分工作

编辑#2:我禁用了我的 404 页面,默认的未找到页面说它正在寻找一个带有 .php 的 url:

“在此服务器上找不到请求的 URL /events/2012.php”

所以现在我相信它正在寻找一个不存在的实际文件。任何人??

编辑#1:看起来循环重定向是固定的,但我仍然无法弄清楚为什么重写对事件页面不起作用。/events/ 工作得很好,但是 /events/2012/title-id/ 进入 404。 /breweries/ 和 arizona-breweries/brewery-name/ 也可以工作,所以我不确定我错过了什么。

我正在尝试使用我的 events.php 页面添加一个新的目录结构。events/2012/... 我在 breweries.php 下有另一个目录结构,它工作得很好。

当我尝试加载事件 sitename.com/events/2012/title-of-event-3/ 时,它会重定向循环并显示“重定向太多”,并且 URL 如下所示:

sitename.com/events/2012/title-of-event-3.php.php.php.php.php.php.php.php.php.php.php/

我认为 6 小时搜索答案就足够了。任何和所有的帮助表示赞赏!

(不,我的真实 htaccess 文件中没有 sitename.com)

我的 htaccess 文件:

0 投票
4 回答
4557 浏览

php - 无法调用控制器 codeigniter 中的第二个函数

我是codeigniter的新手我有问题

我使用我的 OS X Lion,我使用.htaccess我可以直接调用 localhost/site_folder/ 它就像魅力一样,但我的控制器中有第二个函数,但我不能像 localhost/site_folder/function2 那样直接调用该函数

这是我的控制器

它说找不到网址,为什么?

谢谢你

0 投票
1 回答
3327 浏览

get - Nginx 具有干净的 URL、获取参数和 PHP-FPM

我很想知道是否有可能以某种方式配置 nginx,以便它解析 url 参数,而无需.php在发送参数之前在文件名的末尾指定。

例如,假设我有一个帐户模块,它根据发送的参数处理要加载帐户的哪个方面。如果参数是?sk='login',它将加载登录模块。如果是?sk='register',它将加载注册模块 - 依此类推。

问题是,当我键入时,当我尝试打印数组中的值时http://host/account?sk='login',我什么也得不到。$_GET问题是干净的 URL确实加载了应该管理参数的文件,除非我在文件名末尾指定$_GET,否则它不会实际处理。 $_GET.php

我猜想有一个 nginx 或 php-fpm 配置以某种方式允许这样做。

这可能吗?

0 投票
1 回答
2198 浏览

php - 路由器配置 CakePHP 删除 URL 中的页面

我目前正在寻找一种解决方案来从 URL 中删除“页面”,但不会让添加控制器变得困难。

我环顾四周并在谷歌上搜索解决方案,但他们能给出的最佳解决方案是:

示例链接

但是这个解决方案的问题是,每次我想添加一个控制器时,我都需要在我的config/routers.php文件中添加以下行

我之所以添加这两行是因为我不希望 URL 区分大小写。

我也知道,一旦网站“完成”,控制器被更改的情况并不经常发生。

所以我的解决方案如下:

所以我的问题是这个解决方案是性能杀手吗?如果是这样,有人知道更好的解决方案吗?

因为当我从 CakePHP 看高级路由时,在我看来我需要一个 SUPER Advanced 路由......或者我根本不明白。

CAKEPHP 2.1 版

谢谢你的帮助!