私はWordpressのソースコードでピークを迎えることができました。彼らがカスタムURL機能をどのように管理しているか疑問に思っていましたが、実際には取得できませんでした。
wordpress .htaccessファイル内の書き換えルールは、すべてのリクエストをindex.phpにリダイレクトするだけです。
その後、それは私には謎です:彼らはどのようにexample.com/this/title/is/cool/
一致させるのですか?index.php?p=233 ?
私はWordpressのソースコードでピークを迎えることができました。彼らがカスタムURL機能をどのように管理しているか疑問に思っていましたが、実際には取得できませんでした。
wordpress .htaccessファイル内の書き換えルールは、すべてのリクエストをindex.phpにリダイレクトするだけです。
その後、それは私には謎です:彼らはどのようにexample.com/this/title/is/cool/
一致させるのですか?index.php?p=233 ?
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']
。