.htaccess,Wordpress&虚荣网址

时间:2014-03-05 20:47:28

标签: php wordpress .htaccess

我一直在倾注我在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]

2 个答案:

答案 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');
 }