0

次のようなURLを翻訳するにはどうすればよいですか: http:// localhost / mySite /?link = OFFERS&sublink = ARTICLE&subsublink = DETAIL

宛先: http:// localhost / mySite / OFFERS / ARTICLE / DETAIL

1つのパラメーターが空の場合でも、次のように機能するはずです。localhost / mySite /?link = OFFERS&sublink = ARTICLE localhost / mySite / OFFERS / ARTICLE

追加の問題:index.phpの下にEnterページがあり、書き換えはindex2.phpで機能するはずです。localhostの下で、変更なしでライブシステム上で動作する場合に最適です。

現在使用しているもの:RewriteRule ^([^/。]+)$ index2.php?link = $ 1 [L]しかし、これは1つのパラメーターでのみ機能し、このコードを何年もの間改善できませんでした^^

4

2 に答える 2

0

mysiteサイトのディレクトリにある htaccess ファイルに次を追加してみてください。

RewriteEngine on
RewriteBase /mysite/

# rewrite http://localhost/mySite/OFFERS/ARTICLE/DETAIL to
# http://localhost/mySite/?link=OFFERS&sublink=ARTICLE&subsublink=DETAIL
#assumes that index2.php is in the root directory of site
RewriteRule ^([-a-zA-Z0-9])+/([-a-zA-Z0-9])+/([-a-zA-Z0-9])+ index2.php?link=$1&sublink=$2&subsublink=$3 [NC,L]

#redirect index to index2
#if you do not want to redirect, just server rewrite, remove the R=301 below
RewriteRule ^index\.php$ index2.php [NC,L,R=301]
于 2012-01-22T13:52:16.230 に答える
0
RewriteRule ^([^/.]+)(/([^/.]+))?(/([^/.]+))?$ index2.php?link=$1&sublink=$3&subsublink=$5 [L,QSA]

localhost/mySite/OFFERS/ARTICLEへのリンクであり、 へのリンクlocalhost/mySite/?link=OFFERS&sublink=ARTICLE&sussublink=ではないことに注意してくださいlocalhost/mySite/?link=OFFERS&sublink=ARTICLE。大きな問題にはなりませんが、PHP コードが問題を起こさないことを確認してくださいisset($_GET['subsublink'])

于 2012-01-22T15:22:11.410 に答える