2

私はWordpressのソースコードでピークを迎えることができました。彼らがカスタムURL機能をどのように管理しているか疑問に思っていましたが、実際には取得できませんでした。

wordpress .htaccessファイル内の書き換えルールは、すべてのリクエストをindex.phpにリダイレクトするだけです。

その後、それは私には謎です:彼らはどのようにexample.com/this/title/is/cool/一致させるのですか?index.php?p=233 ?

4

1 に答える 1

3

index.phpにリダイレクトされると、そのファイルは$_SERVER['REQUEST_URI']その部分に何が含まれているかを判断this/title/is/coolし、データベースから提供するページを検索します。これは、REQUEST_URIが完全なURI文字列をリストしているためです。実際のページのURLは、リダイレクトされたのはその最初の部分だけです。

例えば、

http://www.example.com/foo/bar/

に書き直されます

http://www.example.com/index.php/foo/bar/

これにより、実際にはhttp://www.example.com/index.phpがロードされますが、その中$_SERVER['REQUEST_URI']には完全なものが含ま/index.php/foo/bar/れます。

一部のアプリは異なるアプローチを使用.htaccessします。これらは、末尾の「ディレクトリ」を取得してクエリ文字列に入れるために使用されるため、書き換えは次のようになります。

http://www.example.com/index.php?path=/foo/bar/

この場合、指定されたパスはで使用できます_GET['path']

于 2009-08-11T17:32:43.100 に答える