1

私は次のURLを持っています:

http://www.domain.gr/add-event?state=3cb7a28b14112d3f3ecada3d6915ac5f&code=AQAZeWtJgz1ZYWvsorRPiMRetkNhnU3NrQ9KYzIRkogUpg6IPHCkFCAWMBUYGYtulfWnr5JHWs2GbrBUAp89pVLStyKs_rer2r14yLI6qdByoqEv1TtHGK4TPzdLFRTgXZEzPEUyk9ixYQfdmZid0dRdTfVXDPqniCKnu8RHQb1ErRDezsdI2CcYsTxofe_wwtZYVD3d4r9VtlANrGn_klP1#_=_ 

私の RewriteRule は、http://www.doamin.gr/news/date/title-of-articleのような URL で、 'news' を $_GET['page'] に設定し、$_GET['request'] を '/date' に設定すると正常に動作します。 /title-of-article' 私の htaccess には、クリーンな URL を提供するために次のコードがあります。

RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)(.*)$ /index.php?page=$1&request=$2 

上記の URL で $_GET は次のように設定されます。

$_GET['ページ'] = '追加イベント'; $_GET['リクエスト'] = ''; // 空欄

この場合、URL の残りの部分を取得するには、reqriteRule をどのように変更すればよいでしょうか? (クリーンな URL を台無しにすることなく)。

4

1 に答える 1

-1

最初のサブパターン([^/]*)貪欲なパターンです。これは、式が入力文字列の可能な最大の部分文字列に一致することを意味します (式は/文字以外のすべてに一致するため、文字列全体に一致します。その後、2 番目のサブパターンは何にも一致しません)。

サブパターンを非貪欲または怠惰(つまり)としてマークすることはできますが([^/]*?)、その場合は文字のみに一致し/ます。URL のクエリ部分の先頭まですべてに一致するようにパターンを変更できます。^([^/]*?)\?

于 2013-01-21T22:23:15.637 に答える