0

URL文字列の最初のディレクトリを書き直して、残りのリクエストを引き続き機能させたいと考えています。

例: ユーザーが のリンクをクリックする/products/category/item.php と、実際には のファイルが取得されるようにしたいのですが/shop/category/item.php、それでも/products/category/item.phpURL として表示されます。

/products/$ /shop/$1これは動的になるので、私が推測しているようなものになるはずです。

4

3 に答える 3

2

mod_rewrite は必要ありません。mod_rewrite を避けるべき場合

url ディレクトリをファイル ディレクトリにマッピングすることは、モードmod_aliasによって処理される Apache の基本的な機能です(これは既に既に存在しているはずです)。

したがって、基本的にAliasおよびAliasMatchディレクティブがあります。あなたの場合、最初のもので十分です:

Alias /products/ /path/to/web/document/root/shop/

マッピングはサーバー側でのみ行われるため、エンド ユーザーに表示される URL は決して変更されません。

于 2012-12-10T12:32:47.523 に答える
1

これを試して:

RewriteEngine On
RewriteRule ^products/(.*)  shop/$1 [L]
于 2012-12-10T12:22:42.870 に答える
1

mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^products/(.+)$ /shop/$1 [L,NC]
于 2012-12-10T12:26:54.910 に答える