Questions tagged «url-rewriting»

指通过操纵URL来创建WordPress中所谓的“漂亮的永久链接”的过程。


4
覆盖作者页面的默认URL?
因此,显示特定作者的帖子列表的默认URL如下所示: http://domain.com/author/{username} 我想知道如何将URL中的“作者”更改为其他内容? 我正在一家特许学校的网站上工作,他们希望允许每个老师按“教室”列出职位列表。所以所需的URL将是 http://domain.com/classroom/{username}

2
带插件的自定义页面
我正在开发一些插件,用于启用自定义页面。在我的情况下,某些自定义页面将包含诸如联系表单之类的表单(并非字面意思)。当用户填写并发送此表格时,应该有需要更多信息的下一步。假设具有表单的第一页将位于www.domain.tld/custom-page/成功提交表单后的位置,然后应将用户重定向到www.domain.tld/custom-page/second。带有HTML元素和PHP代码的模板也应该是自定义的。 我认为使用自定义URL重写可以解决部分问题,但是我目前还不了解其他部分。我真的不知道该从哪里开始寻找该问题的正确命名。任何帮助将非常感激。

3
将作者子弹从用户名更改为昵称
社区大家好, 是否可以将默认的用户名slug更改为昵称(如果可用)? 默认情况下,URL类似于:http://domain.tld/author/(admin), 是否有可能重写并更改为http://domain.tld/author/(nickname),因此,如果用户更改了昵称,从配置文件页面中,它也会更改为用户指定的新名称吗? 非常感谢! 菲利普


3
WordPress如何处理永久链接?
WordPress会自动更正永久链接(URL),即使输入错误也是如此。例如,example.com/some-post即使您输入example.com/idontexist/some-post甚至example.com/some 可能是,WordPress使用了RegEx like或某种匹配算法,该算法从右到左进行比较,如果找到匹配项,即使/.*/左侧有剩余,它也将带您进入页面。只是一个猜测!WordPress如何做到这一点? 编辑:我还注意到.htaccess文件使用!f和检查虚拟文件/目录!d,并将请求重定向到博客文件夹上的index.php。

2
了解add_rewrite_rule
我正在尝试add_rewrite_rule着从URL提取参数并将其传递给请求。看到过很多与此相关的文章,但似乎无法使其正常运行。 如果url以某个字符串开头,我想将其从url中删除,并将其作为查询参数传递。 请求网址示例: http://domain.com/foo/my_page 这将转化为 http://domain.com/my_page?param=foo 如果不存在“ foo”,它应该作为正常请求通过。此逻辑应适用于我网站上的任何页面网址或自定义帖子类型的网址(基本上是foo / *)。如果URL有“ foo”将其剥离,然后将其传递给Wordpress,则认为这将是通过。 我已经有'param'作为允许的query_vars了。 总共,它需要为以下工作: / foo / my_page(页面) / foo / my_folder / my_page(子页面) / foo / example_type(自定义帖子存档) / foo / example_type / example_post(自定义帖子单)

1
将CPT存档页面的Slug重写为Slug的多个名称
我有一个自定义帖子类型,带有plugin创建http://site.com/plugin/plugin-slug/的url结构的重写代码。这使得CPT存档为http://site.com/plugin/ 我想改写它,不使用页面和自定义页面模板,使用http://site.com/plugins/(这是labels=>Name在CPT)。同时保持单个帖子的状态,因为/plugin/ 这还需要支持`/ plugins / page / 21之类的东西-它目前正在这样做。

1
在浏览站点/动态设置站点地址时保留两个(或多个)并行(子)TLD?
我正在该域下的一家德国NGO的网站上运行sub.example.org。 最近,我sub.example.ch为其瑞士分拆增加了股票。 两个(子)域都指向相同的物理位置,即WP安装(不是多站点)。 我进行了设置sub.example.ch/register,例如将正确显示在下找到的内容sub.example.org/register。 但是,当瑞士访问者使用常规的站点链接浏览该站点时,他或她将不可避免地最终进入“常规”域,因为这些访问者使用了常规设置中定义的“ WordPress地址”(或“站点地址”) ,通过get_home_url或get_site_url()(或不那么深的对get_bloginfo()等物)。 理想情况下,我希望访问者继续在他或她用来访问该网站的域名下冲浪。因此,我想我必须以某种方式过滤提到的函数的返回值。据我所知,没有一个过滤器。 是否有人对这类事情有经验,并能得到一个体面的解决方案? 这可能是一个愚蠢的主意,我应该首先放任它吗?

3
使用htaccess将wp-content / themes / name / images屏蔽为images目录
我正在尝试我认为掩盖我的url确实很简单的方法,但似乎无法使其正常工作。我希望能够链接到我的img标签中的图像,而不必键入完整的URL。 即 Current url: http://server.com/wp-content/themes/standard/images/img.jpg or <img src = "http://server.com/wp-content/themes/standard/images/img.jpg" /> 但是在我的页面上我只想做 <img src="http://server.com/images/img.jpg" /> 但是在我的本地主机上似乎没有任何工作。我在Windows 7机器上运行Apache服务器。我正在尝试使用.htaccess来完成上述操作。这是我网站根目录中的.htaccess文件。 更新:我尝试了下面的ZweiBlumen建议,但这似乎不起作用。然后,我尝试了Geerts建议,并将重写方法添加到了我的管理文件夹的misc.php中。然后,我转到我的永久链接页面并点击保存。这样做的结果意味着我的.htaccess文件夹已被重写,其产生的输出如下。 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^css/(.*) /wp-content/themes/standard/css/$1 [QSA,L] RewriteRule ^js/(.*) /wp-content/themes/standard/js/$1 [QSA,L] RewriteRule ^images/(.*) /wp-content/themes/standard/images/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule …

1
带有额外查询变量的搜索结果相当固定
我想知道如何使用wp_redirect和template_redirect钩子将搜索URL重写为一个漂亮的永久链接,其中还包含一个额外的查询变量。 我已经从Nice Search插件中获取了代码,可以很好地将其更改http://example.com?s=africa为http://example.com/search/africa: add_action( 'template_redirect', 'my_rewrite' ) ); function my_rewrite() { if ( is_search() and false === strpos( $_SERVER['REQUEST_URI'], '/search/' ) ) { wp_redirect( get_bloginfo( 'home' ) . '/search/' . str_replace( ' ', '+', str_replace( '%20', '+', get_query_var( 's' ) ) ) ); exit(); } } 但是我将选择下拉列表与Relevanssi插件结合使用,以允许访问者将搜索范围缩小到特定的帖子类型。这将添加一个post_type查询变量,例如http://example.com?s=africa&post_type=features。我希望它有一个类似的网址http://example.com/search/africa/section/features。 尼斯搜索代码会导致post_type查询变量丢失。所以我尝试了以下代码: function my_rewrite() …

3
将.html(点HTML)扩展名添加到自定义帖子类型
有没有办法在没有插件的情况下将.html扩展名添加到自定义帖子类型? 对于我可以/%postname.html在永久链接设置上使用的帖子 对于页面,我可以使用: add_action('init', 'change_page_permalink', -1); function change_page_permalink() { global $wp_rewrite; if ( strstr($wp_rewrite->get_page_permastruct(), '.html') != '.html' ) $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html'; } 对于自定义帖子类型??? 是否有类似于上面的代码片段允许我更改或添加.html自定义帖子类型url?

2
为语言创建自定义的永久链接结构
我编写了一个简单的多语言系统,其中单击一个标志图标可以设置一个包含两个字母语言代码(例如nl,de等)的一年cookie。 我加入了wp操作以读取Cookie值,然后使用the_title和the_content过滤器显示正确的语言(通过页面/帖子编辑屏幕上的元框输入不同的语言)。 这一切都很好,除了我还希望每种语言版本都有一个永久链接,即两个字母的语言代码位于域名和通常的永久链接结构之间。我使用的是%postname%永久链接结构,因此以下所有内容均有效: http://example.com/nl/about-us http://example.com/de http://example.com/fr/2012/03 http://example.com/es/this-is-a-post-title 如果当前语言是英语,则不应使用两个字母代码(它将是常规的永久链接)。 到目前为止,我已经使用query_vars过滤器添加了一个名为的查询变量lang,但这已经远远不够了,我不确定下一步是什么。任何建议,不胜感激!

3
自定义帖子类型和分类的WordPress重写规则
过去,由于对我遇到的问题进行了大量的Google搜索,因此我发现该位置过去是很好的信息来源。我的问题与WordPress使用的详细重写规则有关。 我已经建立了一个自定义后类型,称为项目,而且我已经注册了一个名为自定义分类项目。除了rewrite slug选项,所有其他方法都很有效,因为它们最终会发生冲突-很有可能是由于rewrite规则所致。 基本上,这就是我要实现的结构: example.com/work/%taxonomy%/%post_name%/ (用于帖子) example.com/work/%taxonomy%/ (列出属于特定分类术语的帖子) example.com/work/ (转到包含taxonomy.php的page-work.php,以列出与该分类法相关的所有帖子) 这是我到目前为止的代码,但是我需要编写WP_Rewrite规则的帮助,因为这有点让我感到困惑。 $labels = array( 'name' => _x('Projects', 'post type general name'), 'singular_name' => _x('Project', 'post type singular name'), 'add_new' => _x('Add New', 'project item'), 'add_new_item' => __('Add New Project'), 'edit_item' => __('Edit Project'), 'new_item' => __('New Project'), 'view_item' => __('View …

3
漂亮的文件上传网址?
可以将PDF等文件上传到自定义网址吗?我想上传PDF www.example.com/whitepapers/pdf.pdf而不是www.example.com/wp-uploads/...。 我找到了一个名为WP Easy Uploader的插件,看起来不错,但是我想检查是否还有其他解决方案。 我正在考虑的一种解决方案是将PDF视为页面,以便可以将父页面分配给PDF。如果父页面的URL发生更改,这将处理所有重定向。 更新 -由于安全原因,我不想从Wordpress安装中进行任何FTP访问,因此不再考虑WP Easy Uploader。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.