Htaccess规则,在网址

时间:2016-06-06 06:39:16

标签: php wordpress apache .htaccess url-rewriting

我想将单个(第一个)破折号转换为斜线。我这里有两个网址:

Actuall url: http://localhost/wordpress/accessories-car-alarm-system

应重定向到 http://localhost/wordpress/accessories/car-alarm-system

我想将此特定网址从第一个网址转换为第二个网址。我正在使用此代码,但它无法正常工作。

整个htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
RewriteRule ^/?accessories/(.+)$ /accessories-$1 [L,NC]
</IfModule>

# END WordPress  

也试过这个:

RewriteRule ^/?accessories/(.+)$ /accessories-$1 [L,NC]

仍然无法正常工作

3 个答案:

答案 0 :(得分:1)

您无法在重写RewriteTarget中使用正则表达式,请尝试

RewriteRule ^/?accessories/(.+)$ /accessories-$1 [L,NC]

参考:https://httpd.apache.org/docs/current/mod/mod_rewrite.html

答案 1 :(得分:1)

使用:

RewriteEngine on 
RewriteRule ^accessories-(.+)$ accessories/$1 [NC,R=301,L]

在.htaccess

的开头没有/

答案 2 :(得分:0)

不应该是

RewriteRule ^/accessories-(.*)$ /accessories/(.*)$