htaccess将目录重定向到同一目录中的单个页面

时间:2017-05-03 06:43:35

标签: apache .htaccess redirect

所有尝试都失败了......我希望通过.htaccess将http://olex-design.at/journal重定向到http://olex-design.at/journal/alle

到目前为止,我有以下 - 非工作 - 规则,产生403禁止页面。

RewriteRule ^journal/$ /journal/alle [R=301,L]

.htaccess文件放在根目录中。也许有人可以指出我朝着正确的方向发展......

.htaccess文件中的所有规则:

Options -Indexes -MultiViews
RewriteEngine on

#Force non-www:
RewriteCond %{HTTP_HOST} ^www\.olex-design\.at [NC]
RewriteRule ^(.*)$ http://olex-design.at/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]

RewriteRule ^journal/$ /journal/alle [R=301,L]
ErrorDocument 404 /404

1 个答案:

答案 0 :(得分:0)

在我的虚拟主机的支持下,我能够解决上述问题。这是我的.htaccess文件中的完整代码。

请注意,前4行完成了这一操作。下面的代码负责删除“www”,删除你在家中的“索引”(http://olex-design.at)并删除.html文件扩展名。

RewriteOptions inherit  
RewriteEngine on
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^journal\/?$ "http\:\/\/olex\-design\.at\/journal\/alle" [R=301,L]

AddDefaultCharset utf-8

Options -Indexes -MultiViews
RewriteEngine on

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

<IfModule mod_rewrite.c>
#index redirect 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/ 
RewriteRule ^index\.html$ http://olex-design.at/ [R=301,L]
</IfModule>

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]