标签: friendly-url

Wicket重定向:如何传递参数并保持URL"漂亮"?

考虑一个重定向到另一个页面的Wicket WebPage(基于此处省略的一些逻辑):

public class SomePage extends WebPage {
    public SomePage(PageParameters parameters) {
        setResponsePage(AnotherPage.class);
        setRedirect(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要将PageParameters传递给其他页面,这似乎是这样做的方式:

setResponsePage(new AnotherPage(parameters));
Run Code Online (Sandbox Code Playgroud)

但是,在创建这样的新Page对象时,我最终会使用URL /?wicket:interface=:1::::而不是clean /another.AnotherPage定义为:

@MountPath(path = "another")
public class AnotherPage extends WebPage {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

(其中MountPath来自org.wicketstuff.annotation.mount包.)

所以,我的问题是:

  • 传递params的其他方法?
  • 保持URL漂亮的一些方法?上面是Wicket Stuff的具体限制而不是核心Wicket?

更新

嘿,原来任何建议的方法是可行的,而且也是我最初试图- setResponsePage(new AnotherPage(parameters))-只要我删除setRedirect(true).在这种情况下,URL确实保持不变(SomePage的路径),我刚刚意识到我真的应该从一开始就提到它是可以的,如果它确实(只要它"漂亮"并且参数传递)!

页面("SomePage")基于查询参数将请求分派给几个看起来不同但通过相同URL访问的可能结果页面.我试图尽可能地将问题表述为通用和极简主义,但是当我遗漏相关信息时,这就出错了.: - /

对不起,如果这对他人来说很奇怪,不清楚或无用.如果您有关于重命名的建议,请随时发表评论.

java redirect wicket friendly-url

5
推荐指数
2
解决办法
1万
查看次数

站点地图和SEO的良好URL策略

我运行一个用户拥有自己的个人资料页面的网站.他们还可以发布待售产品(他们已经制作)和撰写/导入博客文章.我将实现站点地图,我需要使用URL策略做出最终决定.

这是我目前对产品的看法(其中1234是我用来查找该产品的产品ID):NB"product"是一个固定的字符串(尽管它是实际网站中的另一个字) - 所有其他的都是动态的,具体取决于项目.

  • example.com/product/1234.product-category.product-name

我应该换成其中任何一个吗?即:

  • example.com/maker/users_name/product-category/product-name/1234
  • example.com/product/product-category/product-name/1234
  • example.com/product/1234/product-category/product-name

需要考虑的主要项目是:

  1. 产品ID应该放在URL中的哪个位置?无论是在用户的可读性方面还是在SEO方面
  2. 我是否应该包含用户名(因为他/她制作了该产品)?
  3. 我应该尝试完全删除ID吗?

sitemap seo friendly-url

4
推荐指数
1
解决办法
1752
查看次数

如果你不关心SEO/SEM,是否值得使用"漂亮的URL"

我正在设计一个托管的软件即服务应用程序,就像37Signal的Highrise产品的高度专业化版本.在这种情况下,SEO是一个非问题,是否值得实施"漂亮的URL"而不是使用数字ID(例如,customers/john-smith而不是customers/1234)?我注意到很多网络应用程序都不打扰它们,除非它们提供真正的价值(例如电子商务应用程序,博客 - 需要通过搜索引擎找到SEO的东西)

seo friendly-url ruby-on-rails

4
推荐指数
3
解决办法
547
查看次数

可重写的URL重写(更改地址栏中的URL)

我之前问过这个问题的补充:

Mod_rewrite不可见:当目标是文件时工作,而不是当它是目录时

现在我真的希望重写是明显的,因为我已经切换了URL方案,虽然我希望旧的链接工作,但我希望用户看到新的URL方案.

这样可行

RewriteRule ^oldscheme/(.*)/?$  newscheme/$1
Run Code Online (Sandbox Code Playgroud)

但地址栏中的URL仍为http://example.com/oldscheme/foo.

什么是进行可见重写的正确方法,最好只使用mod_rewrite,而不是使用位置重定向或类似的东西?

apache url mod-rewrite friendly-url url-rewriting

4
推荐指数
1
解决办法
4421
查看次数

从url中删除面部servlet url模式和页面扩展名

我的页面中有一个命令链接,如下所示:

<h:commandLink value="Add user" action="add?faces-redirect=true" />
Run Code Online (Sandbox Code Playgroud)

当我点击它,它会转到网址:

http://localhost:8080/myapp/faces/add.xhtml
Run Code Online (Sandbox Code Playgroud)

但我希望网址是:

http://localhost:8080/myapp/add
Run Code Online (Sandbox Code Playgroud)

怎么做 ?

我正在使用spring 3,jsf 2

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" version="2.5">

  <display-name>myapp</display-name>

  <!-- Add Support for Spring -->
  <listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <listener>
    <listener-class>
        org.springframework.web.context.request.RequestContextListener
    </listener-class>
  </listener>

  <!-- Change to "Production" when you are ready to deploy -->
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>

  <!-- Welcome page -->
  <welcome-file-list>
    <welcome-file>faces/users.xhtml</welcome-file>
  </welcome-file-list>

  <!-- JSF mapping -->
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <!-- Map …
Run Code Online (Sandbox Code Playgroud)

jsf friendly-url jsf-2

4
推荐指数
1
解决办法
9119
查看次数

删除友好URL的.php扩展名(明确写入)

htaccess删除我网站文件的.php扩展名.

RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ $1.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)

现在,如果我去我的网站

www.mysite.com/home
Run Code Online (Sandbox Code Playgroud)

工作正常,它重定向到home.php但URL仍然友好.

但是,如果我写这个URL:

www.mysite.com/home.php
Run Code Online (Sandbox Code Playgroud)

提供home.php,URL不友好.

我该如何避免这种行为?我希望如果用户写www.mysite.com/home.php,则URL栏中显示的URL为www.mysite.com/home

php .htaccess mod-rewrite friendly-url

4
推荐指数
3
解决办法
8986
查看次数

如何在struts2中映射长REST URL - 使用struts2 rest插件

我过去几天一直在学习使用struts2 rest插件.但没有 - 我在哪里找到了如何映射长休息URL.

例如,如果我想映射如下的URL:

/profiles/user-test/orders/64/item/4
Run Code Online (Sandbox Code Playgroud)

哪里

username is user-test
order id is 64
item id is 4
Run Code Online (Sandbox Code Playgroud)

如何将这样的内容映射到struts2动作?

我在互联网上找到的只是一个级别被编辑/显示等.但如果我想在多个级别上显示某些内容 - 那么如何继续?请指导.

java rest friendly-url struts2 java-ee

4
推荐指数
1
解决办法
1453
查看次数

Page.RouteData.Values对于一个页面是空的而不是另一个页面

我使用Microsoft.AspNet.FriendlyUrls在ASP.NET c#WebForms中使用Routing,但不是所有页面都使用.

这是一个例子:

routes.MapPageRoute("List/{Location}/{ZipCode}/", "List/{Location}/{ZipCode}/", "~/List.aspx");
Run Code Online (Sandbox Code Playgroud)

在page_load中的上述页面(List.aspx)中,Page.RouteData中没有values.count.

Page.RouteData.Values.Count == 0
Run Code Online (Sandbox Code Playgroud)

我在同一网站上有另一页与此信息匹配:

routes.MapPageRoute("{Location}/{ZipCode}/{Name}/{LocID}/{ID}/{Code}/", "{Location}/{ZipCode}/{Name}/{LocID}/{ID}/{Code}/", "~/place.aspx");
Run Code Online (Sandbox Code Playgroud)

此页面(place.aspx)始终显示正确的路径计数.

在调试模式的List页面上,我检查了查询字符串和位置,ZipCode就在那里.

那么,什么可能导致Page.RouteData不在一个页面中显示但在另一个页面中可用?

asp.net friendly-url url-routing

4
推荐指数
1
解决办法
1448
查看次数

无法加载ASP.ViewSwitcher类型

FriendlyUrls通过NuGet 将包添加到我的asp.net网页项目中.

当我调试解决方案,它返回错误ASP.ViewSwitcherViewSwitcher.ascx无法加载.

我没有在互联网上找到关于这个问题的任何内容.

有人可以帮助我,如何解决这个问题?

在此输入图像描述

c# asp.net friendly-url asp.net-webpages

4
推荐指数
1
解决办法
3472
查看次数

PHP中查询字符串的HTACCESS重写规则

我有我的 URL https://example.com/?hfgshdsds

我需要重写一个规则,即使我删除了问号,链接也会像以前一样工作,所以我的 url 需要是https://example.com/hfgshdsds

目前,在我的 .htaccess 文件中,我只有打开 php 而没有扩展名 .php 的规则。

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)

谢谢!

apache .htaccess mod-rewrite friendly-url url-rewriting

4
推荐指数
1
解决办法
50
查看次数