- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在开发一个电子商务网站,其个别产品的 URL 格式如下:
examplesite.com/shop.php?sec=prod&prod=373
其中 373 是一个单独的产品编号。我想重写所有产品 URL,使它们看起来像这样:
examplesite.com/product-name-here
遗憾的是,某些产品名称包含 *、/和 ! 等字符,不应包含在 URL 中。
我可以访问所有内容,但技能有限,所以如果您回答,请假设我完全天真!
谢谢!
最佳答案
仅使用独特的 slug('product-name-here')有时会很棘手。最好有这样的东西:
examplesite.com/373/product-name-here.html // or
examplesite.com/373-product-name-here
... 或任何其他组合,但将产品 ID 保留在网址中。要创建 slug,请在谷歌上搜索 PHP slug generator
如果您使用 Apache 运行服务器,则需要加载 mod_rewrite 模块并将 .htaccess 添加到项目的根目录(在那里执行 index.php)
RewriteEngine On
Options FollowSymLinks
# examplesite.com/373/product-name-here.html
RewriteRule ^([0-9]*)/([a-zA-Z0-9+-_\.])\.html$ shop.php?sec=prod&prod=$1
关于url-rewriting - 使用产品名称实现友好的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16666488/
我有一个使用moodle库的项目。由于客户端请求,我不得不将 URL 从moodle.example.com 更改为learn.example.com。 我认为这将是一个简单的更改,但唉,moodle
目前,在我的生产服务器上,我设置了如下的入站规则,它可以满足我的所有要求。 入站规则如下。 Match URL section Requested URL: Matches the Pattern U
我正在 Heroku cedar 堆栈上运行一个 PHP 应用程序。有没有办法设置 URL 重写规则?我曾希望在 .htaccess 文件中执行此操作,但在此只能识别访问控制指令。 我看到 Ruby
我正在尝试在运行 CentOS 6.4 和 NginX 1.8 的 VPS 上设置 Laravel 框架。我可以让其他一切都完美地工作,除了我无法让更清晰的 URL 工作,比如使用“website.c
我刚刚从 IIS6 svr2003 迁移到 IIS7.5 服务器 2008r2 并安装了 url 重写。这一切都很好。有问题的网站很大,并且在 .net 2 集成管道下运行。目前无法在 .net 4
首先是一些无聊的进口: import Relation.Binary.PropositionalEquality as PE import Relation.Binary.HeterogeneousE
我正在 IIS 6 上构建一个 Drupal CMS 网站,并使用 ISAPI Rewrite 3 来提高 url 的可读性。我的问题是我有一个位于 Drupal 站点内的虚拟目录,但它指向 Drup
每个网络应用程序/上下文有没有办法为该特定网络应用程序指定重写文件?我看到当前工作的唯一方法是在您启动它时通过命令行。我在想可能是 override.xml 文件中的设置,甚至是上下文 xml 文件中
我想为基于 Struts2 的应用程序(目前在开发环境中)重写 URL。我搜索了它并找到了 Tuckey URL Rewrite 并在我的项目中进行了设置。现在我希望我的登录 url 当前为 http
我正在尝试使用 IIS URL Rewrite 2.0在 Windows 8.1 上使用 IIS 8.5。根据 Accessing URL Parts from a Rewrite Rule , Fo
我们有以下重写规则: RewriteRule ^([A-Za-z0-9\_]+)$ index.php?rewrite=$1 [L,QSA] 我们想知道是否有一种方法可以让 ?rewrite=$1
我们有以下重写规则: RewriteRule ^([A-Za-z0-9\_]+)$ index.php?rewrite=$1 [L,QSA] 我们想知道是否有一种方法可以让 ?rewrite=$1
我从 Web 平台安装程序安装 URL Rewrite。没有添加规则。然后,当我访问网站 url 时,它返回 503 代码并且应用程序池已停止。当我从控制面板中卸载 URL 重写模块时,它工作正常。
假设我在 example.com 上托管了一个站点,现在我希望我的每个注册用户都获得一个个性化的子域,例如 Alice 通常应该将 alice.example.com 作为她的子域。而实际上 alic
我正在按照Jetty文档示例在嵌入式Jetty服务器中实现一个简单的重写规则。 我想将对/admin/的请求重写为/admin.html。 目前,如果我请求/admin/,则会收到404错误,找不到/
我有这个重写规则 RewriteEngine On RewriteBase /location/ RewriteRule ^(.+)/?$ index.php?franchise=$1 假设要更改此
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。 7年前关
我有两个 apache 服务器都具有相同的设置,我克隆了 apache 配置文件,并且只更改了 ServerName 部分。当我键入 mysite.com/somestuff 它应该重写为 index
我想即时创建文件夹,但让我看起来像是在使用 mod_rewrite 即时创建子域。例如 使用 PHP 创建“john”文件夹 www.example.com/john/ 然后能够访问我放在那里的任何内
如何删除main/中的http://domain/main/about 因此该网址将类似于http://domain/about 谢谢 最佳答案 好吧,在没有更多详细信息的情况下,您可以尝试执行以下操
我是一名优秀的程序员,十分优秀!