2015-05-04 78 views
0

我想为我的WP网站添加自定义重写规则,因此http://example.com/?u=sample-output被重写为http://example.com/sample-outputWP - 添加自定义重写规则

我想添加的重写规则是:

RewriteEngine On 
RewriteRule ^([^/]*)$ /?u=$1 [L] 

现有的重写规则是:

RewriteEngine On 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

当我添加它,它给了我,当我访问一个404错误这一页。我猜这是因为冲突。任何有关如何解决这个问题的建议将不胜感激。

+0

WP规则将所有内容重写为index.php,现在您基本上正在尝试使用新规则做同样的事情。你不能这样做。它是一个查询字符串,你正试图重写或什么? –

+0

@PanamaJack目标是将查询字符串重写为example.com/query-string。也许我们可以更改WP设置,以便其他页面转到example.com/pages/? – user2208768

+0

这是查询字符串还是只是一个? –

回答

0

根据你的意见,把规则放在WP规则上面,然后你可以做这样的事情。所有将转到查询字符串的网址都必须使用/start/。然后确保忽略WP规则中的/start/,如下所示。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^start/([^/]+)/?$ /?u=$1 [L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/start [NC] 
RewriteRule . /index.php [L] 
+0

当我添加它时,它将example.com/start/query-string重定向到example.com/query-string,这不应该发生。有任何想法吗? – user2208768

+0

除此之外,你还有其他的htaccess文件规则吗? –

+0

不,这就是全部 – user2208768