0

PHPスクリプトでパーマリンクURLをアーカイブするにはどうすればよいですか? wordpress のようなことを意味します

url: www.example.com/year/entry 

$year = ...
$entry = ...

実際のフォルダーを作成せずに....htacessはWordpressでも使用しないため、使用したくありません。

フォルダーが存在しないため、通常の動作は 404 エラーになります。

4

3 に答える 3

2

Apacheでmodrewriteを使用します(サーバーが異なれば、書き換えメカニズムも異なります)。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

ほとんどの場合、書き換えは正規表現を使用して行われます。これはあなたがあなたのサイトのルートディレクトリに.htaccessファイルを入れた例です(私はそれが後に何をするかを説明します):http ://website.com/

RewriteEngine on
RewriteRule ^js/main.js$ /scripts/main.php [L]

これにより、ブラウザに次のように入力できます。http ://website.com/main.jsただし、ファイルは実際にはサーバーのhttp://website.com/scripts/main.phpにあります。セキュリティを強化するために、パブリックディレクトリの外に配置できます。

別の例ですが、今回はもう少し正規表現を使用します

RewriteEngine on
RewriteRule ^js/([0-9a-f]+).js$ /scripts/main.php [L]

これらすべてを同じファイルに移動できるようにします。

すべてhttp://website.com/scripts/main.phpをロードします

PS [L]は、それが最後の書き換えであり、一致するものを探し続ける必要がないことをサーバーに示します。

于 2012-11-28T17:31:10.630 に答える
1

Zend Router を使用して、特定の URL が要求されたときにどこに移動するかをアプリケーションに伝えることができます。フォルダーを作成する必要はありません。パスを正しいコントローラー/アクションに一致させるだけで済みます。

Zend ルーターのドキュメント

WordPressの場合、プラグインを使用するだけです。これはかなり簡単に行うことができます。このプラグインをチェックしてください

于 2012-11-28T17:20:08.620 に答える
0

WordPress は mod-rewrite と .htaccess を使用します。それ以外の場合は、ページ リンクに index.php が表示されます。

mod-rewrite を使用して、要求されたパスを処理する php ファイルを作成することもできます。

于 2012-11-28T17:22:30.483 に答える