目标 - 显示网址短版本的正确页面
Htaccess文件:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^wholesale/?$ /products-page/wholesale/$1 [NC] # Handle requests for "wholesale"
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
但是当我转到http://www.utatz.com/wholesale时,它不会加载http://www.utatz.com/products-page/wholesale/
的内容我有什么不正确的做法?
由于
答案 0 :(得分:1)
让我直截了当地说:
选项1)
您想输入以下URL:
的 yoursite /批发/ 强>
并且能够看到与您所处的完全相同:
的 yoursite /产品页/批发/ 强>
实现这一目标的最简单方法是添加一个页面"批发"并使用修改后的循环创建自定义模板页面。
http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
http://codex.wordpress.org/Function_Reference/query_posts
OR
选项2)
你想输入:
的 yoursite /批发/一个产品/ 强>
并且能够看到相当于:
的 yoursite /产品页/批发/一个产品/ 强>
如果这是您想要实现的目标,您应该专注于添加/修改WordPress'拥有RewriteRules,你应该避免使用.htaccess,因为你可以指示WP理解任何给定的永久链接结构。
作为简介,我建议您查看http://www.hongkiat.com/blog/wordpress-url-rewrite/
不要忘记:每次更改固定链接结构时,请转到Settings -> Permalinks
并单击“保存更改”,否则更改可能不适用,直到您这样做。 / p>
我不确定这是否可以使用.htaccess,但WordPress中的规则看起来就像下面示例的第一个RewriteRule
中显示的那样:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^wholesale/(.+)/?$ /index.php?category_name=wholesale&name=$1 [NC] # (.+) represents the title of a post with the "wholesale" category
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
当您使用add_rewrite_rule
时,应该看起来有点像:
add_rewrite_rule('^wholesale/([^/]*)/?','index.php?category_name=wholesale&name=matches[1]','top');
上述示例仅在(.+)
/ ([^/]*)
代表帖子时才有效,如果它是自定义帖子类型则不起作用,因为您必须添加代表此类自定义的变量发布类型。