0

サイトの URL から 'folder1s' と 'folder2' の 2 つのフォルダーと php 拡張子を削除したいのですが、.htaccess ファイルでは効果がありません。

http://www.example.com/folder1/folder2/are_string_beans_all_right_on_the_candida_diet.php

変換

http://www.example.com/are-string-beans-all-right-on-the-candida-diet/

ここに私の.htaccessファイルがあります

DirectoryIndex index.php
AddDefaultCharset utf-8

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

RewriteRule ^index\.php/?$ / [L,R=301,NC]
RewriteRule ^((?!folder1/folder2).*)$ folder1/folder2/$1 [NC,L]
4

2 に答える 2

2

あなたがやろうとしていることは、 RewriteCond を使用すると簡単に実行できます

# Doesn't begin with folder1/folder2
RewriteCond %{REQUEST_URI} !^/folder1/folder2/
RewriteRule ^(.*)$ /folder1/folder2/$1 [L]

http://domain.com/folder1/folder2/fileただし、これはリクエストを にリダイレクトしませんhttp://domain.com/file。そのためには別のルールが必要です。

于 2013-08-16T14:51:25.423 に答える