Apache .htaccess重定向替换不工作的单词

Apache .htaccess重定向替换不工作的单词,apache,.htaccess,Apache,.htaccess,在我的url中,我用landelijke deals替换了national这个词 例如: http://allthedeals.nl/deals/national/reizen-vakantie 致: http://allthedeals.nl/deals/landelijke-deals/reizen-vakantie 我用这个: RewriteRule ^national/(.*) /landelijke-deals/$1 [R=301,L] 重定向,但由于某些原因,它不能正常工作,我没有

在我的url中,我用landelijke deals替换了national这个词

例如: http://allthedeals.nl/deals/national/reizen-vakantie

致: http://allthedeals.nl/deals/landelijke-deals/reizen-vakantie

我用这个:

RewriteRule ^national/(.*) /landelijke-deals/$1 [R=301,L]
重定向,但由于某些原因,它不能正常工作,我没有看到什么

更新:这是我当前的htacces文件


你的规则是错误的。请改用以下重写规则:

RewriteRule ^/deals/national/(.*)$ /deals/landelijke-deals/$1 [R=301,L]

这是您需要的规则:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^(deals)/national/(.+)$ $1/landelijke-deals/$2 [R=301,L.NC]

首先,我会确保您在VHost config/htaccess文件中启用了RewriteEngine。是的,RewriteEngine在文件中。问题:您将此规则放置在.htaccess或VHost中的何处,如果它在.htaccess中,那么它是在根目录中还是在物理/deals目录中?在.htaccess和根目录中威廉,我觉得那条线不错,但出于某种原因,它没有重定向。这可能会受到我的htaccess文件中其他元素的影响吗?只要启用了mod_rewrite,它就不会受到影响。通过查看httpd.conf或运行sudo a2enmod rewrite for LinuxAlway来检查它是否正确,如果您没有RewriteBase/directive,那么尝试在规则的deals部分(即^/deals)之前添加一个正斜杠……我将其更改为:RewriteRule ^/deals/national/*/deals/landelijke deals/$1[R,L],但仍然没有运气。页面变少了一秒钟,然后仍然转到原来的页面。。。
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^(deals)/national/(.+)$ $1/landelijke-deals/$2 [R=301,L.NC]