2015-10-03 154 views
1

除了位於子目錄例如網頁上的所有這些重定向的工作:重定向頁面中的子文件夾新建文件夾

FR /東西

FR /其他-stuff

不起作用

RewriteEngine On 
Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteRule ^/?stuff$ http://example.org/more-stuff [R=301,L] 
RewriteRule ^/?fr/stuff$ http://example.org/fr/other-stuff [R=301,L] 
RewriteRule ^/?es/notice\.php$ http://example.org/es/ [R=301,L,QSD] 
RewriteRule ^/?len.php$ http://example.org/es/ [R=301,L,QSD] 

這是代碼

# Use PHP5.4 as default 
AddHandler application/x-httpd-php54 .php 

RewriteEngine On 
Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} \.htm 
RewriteRule ^(.*)\.htm$ /$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.htm -f 
RewriteRule ^([A-Za-z\-]+)$ $1.htm 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} !^\.localhost$ [NC] 
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L] 

<FILES .htaccess> 
order allow,deny 
deny from all 
</FILES> 

回答

1

/fr/stuff將正確地重定向到/fr/stuff/fr/stuff/和在目錄中的其他內容將不會重定向的其餘部分。 重定向/fr/stuff/你應該做這樣的

RewriteRule ^/?fr/stuff/?$ http://example.org/fr/other-stuff [R=301,L] 

重定向子目錄做這樣

RewriteRule ^/?fr/stuff/?(.*)$ http://example.org/fr/other-stuff/$1 [R=301,L] 

你應該閱讀更多關於正則表達式的詳細資料。

+0

在這個例子中東西其實是一個stuff.htm重定向到東西(在其他代碼中),但我試過你的代碼,它沒有工作 – user3349491

+0

啊問題是另一個衝突的htaccess文件 – user3349491

相關問題