0

私は非常に基本的な htaccess を持っており、ディレクトリ スタイルをクエリ スタイルに変換しようとしています。すなわち

a. /public_html/main/folder1/folder2     ... etc
b. /public_html/main.php?1=folder1&1=folder2    

どの正規表現を試しても、どの書き換えルールを試しても、この問題を解決することはできません。

これまで何度もウェブを検索してきました。他のフォーラムで見つかった 10 の異なる「推奨」ソリューションを試しました。

他にどこを見るべきかわかりません。これが私の現在のhtaccessです:

Options +FollowSymLinks  
RewriteEngine On 
RewriteRule ^public_html/([A-Za-z0-9]+)/([0-9]+)/?$ main.php?name=$1&page=$2 [NC]

これが私の httpd.conf Htaccess ディレクティブです。

(Directory "/Users/admin/Sites")
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
(/Directory)
(Directory "/Users/admin/Sites/MFCS/V3/public_html/mfcs/public_html")
    AllowOverride  All
(/Directory)

この例では、ディレクトリ タグの大なり / 小なりを置き換えました。

httpd.conf には適切なタグが含まれています。

4

1 に答える 1

0

これを試してください:

Options +FollowSymLinks  
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/main/(.*)/(.*)/?$ /main.php?name=$1&page=$2 [L]

これにより、リクエストが次の場所にリダイレクトされます。

http://www.example.com/main/folder1/folder2

に:

http://www.example.com/main.php?name=folder1&page=folder2

これがあなたが探している結果でない場合は、前後のサンプルを提供してください。別のメモで、必ず有効にしましたmod_rewriteか?public_html通常は公開されていないため、URI からも削除しました。

于 2013-01-08T00:12:11.680 に答える