我一直在倾注我在htaccess& amp; Wordpress中的虚荣网址,但我完全不知道为什么我的工作不起作用。我是一个使用htaccess的完整菜鸟,所以我相信它与它有很多关系。
我正在尝试将指向/ dealers / dealers-info / username的所有网址格式化为相同的wordpress页面(id 112 - 又名'dealers-info'),并将用户名作为参数。
添加的虚荣网址代码正好在#vanity网址
之后例如,传递:URL.com/dealers/dealers-info/watergallery其中'watergallery'是用户名,显示基本的404:
未找到
在此服务器上找不到请求的URL / dealer / dealers-info / watergallery。
非常感谢任何见解 - 提前感谢您的帮助!
[编辑 - 删除了领导/并移动了规则 - 现在看到了WP 404页面]
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteRule ^uvmax/blog/$ /blog [R=301,L]
RewriteRule ^dealer-finder/$ /dealers [R=301,L]
RewriteRule ^sterilight/blog/$ /blog [R=301,L]
# vanity urls
RewriteRule ^/dealers/dealers-info/(.*)$ index.php?p=112&username=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
答案 0 :(得分:0)
RewriteRule ^ dealer / dealers-info /(.*)index.php?p = 112& username = $ 1 [L]
答案 1 :(得分:0)
感谢大家的帮助和建议!
事实证明,WP的内置RewriteRule函数是需要使用的(至少就我所知)。
这个解决方案对我有用,感谢一位发现这些WP Codex示例的同事(James)!:
http://codex.wordpress.org/Rewrite_API/add_rewrite_tag http://codex.wordpress.org/Rewrite_API/add_rewrite_rule
add_action('init', 'dealerRewrite');
function dealerRewrite(){
add_rewrite_tag('%username%','([^&]+)');
add_rewrite_rule('^dealers/dealers-info/([^/]*)/?','index.php?page_id=112&username=$matches[1]','top');
}