質問

IIS7で共有ホスティングを使用し、PHPをサポートしています。私は" pretty urls"でwordpressブログを運営しようとしています。 (index.phpを削除)。ホスティングプロバイダーはURLRewriteモジュールをインストールしたくないため、このオプションは利用できません。パーマリンクURLからindex.phpを削除するwordpressのプラグインを見つけました。404ページをindex.phpに変更することでトリックを実行できるはずです...それも機能しません。

ASP.NET WebサイトのURLの書き換えについてはよく知っていますが、PHPでどのように書き換えるかはわかりません。ホスティングのセットアップはASP.NETとPHPを同時にサポートしているようですので、ASP.NETを介して書き換えコードを実行することは可能だと考えていますが、どうすればよいかわかりません。

これについての経験や、最善のアプローチに関するアイデアを持っている人はいますか。何かが正しい方向に私を導くか、私がそれを自分で理解するならば、私はそれを必要とするかもしれない他の誰のためにでもここでコードを共有することをより幸せです。

役に立ちましたか?

解決 2

提案をありがとう。

ホストは最終的に IIRF をインストールしました。魔法のように。書き換えルール用のIsapiRewrite4.iniというファイルがあります。 URLにindex.phpを含めずにWordpressのインストールを実行するには、追加する必要がありました:

RewriteRule ^/sitemap.xml$   - [L]
RewriteRule ^/(?!index.php)(?!wp-)(.*)$ /index.php/$1

最初の行は、sitemap.xmlファイルのリクエストを許可します。 2行目は、URLからindex.phpを削除します。パフォーマンスの観点からも問題ないようです。ページの応答が遅くなる問題はまったく見られません。

うまくいけば、これは同様の機能を必要とする他の誰かを助けるでしょう。

他のヒント

ManagedFusion Url Rewriterを使用しています ブログ

ManagedFusion Url Rewriterには、.htaccessを模倣するManagedFusion.Rewriter.rulesというファイルが必要です。正しく動作させるには、かなり試行錯誤する必要があったので、現在持っているものを含めます。

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on

#
# Place Rules Below
#

# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]

# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]


# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]

# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

ルールはきれいなURLを処理し、wwwを削除し、以前のブログからいくつかの古いURLをリダイレクトします。

「404.php」というファイルもあります。カスタム404エラーページとして設定していること。これはきれいなURLには必要ありませんが、カスタムテーマでwordpress 404ページを使用できるようにします。内容は次のとおりです。

<?php
$qs = 

ManagedFusion Url Rewriterを使用しています ブログ

ManagedFusion Url Rewriterには、.htaccessを模倣するManagedFusion.Rewriter.rulesというファイルが必要です。正しく動作させるには、かなり試行錯誤する必要があったので、現在持っているものを含めます。

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on

#
# Place Rules Below
#

# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]

# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]


# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]

# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

ルールはきれいなURLを処理し、wwwを削除し、以前のブログからいくつかの古いURLをリダイレクトします。

「404.php」というファイルもあります。カスタム404エラーページとして設定していること。これはきれいなURLには必要ありませんが、カスタムテーマでwordpress 404ページを使用できるようにします。内容は次のとおりです。

<*>

お役に立てば幸いです。これは私にとってこれまで非常にうまく機能しています。

-Rob

更新:使用した経験に関するブログ記事を投稿しましたIIS7上のWordPress

SERVER['QUERY_STRING']; $pos = strrpos($qs, '://'); $pos = strpos($qs, '/', $pos + 4);

ManagedFusion Url Rewriterを使用しています ブログ

ManagedFusion Url Rewriterには、.htaccessを模倣するManagedFusion.Rewriter.rulesというファイルが必要です。正しく動作させるには、かなり試行錯誤する必要があったので、現在持っているものを含めます。

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on

#
# Place Rules Below
#

# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]

# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]


# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]

# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

ルールはきれいなURLを処理し、wwwを削除し、以前のブログからいくつかの古いURLをリダイレクトします。

「404.php」というファイルもあります。カスタム404エラーページとして設定していること。これはきれいなURLには必要ありませんが、カスタムテーマでwordpress 404ページを使用できるようにします。内容は次のとおりです。

<*>

お役に立てば幸いです。これは私にとってこれまで非常にうまく機能しています。

-Rob

更新:使用した経験に関するブログ記事を投稿しましたIIS7上のWordPress

SERVER['REQUEST_URI'] = substr($qs, $pos);

ManagedFusion Url Rewriterを使用しています ブログ

ManagedFusion Url Rewriterには、.htaccessを模倣するManagedFusion.Rewriter.rulesというファイルが必要です。正しく動作させるには、かなり試行錯誤する必要があったので、現在持っているものを含めます。

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on

#
# Place Rules Below
#

# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]

# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]


# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]

# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

ルールはきれいなURLを処理し、wwwを削除し、以前のブログからいくつかの古いURLをリダイレクトします。

「404.php」というファイルもあります。カスタム404エラーページとして設定していること。これはきれいなURLには必要ありませんが、カスタムテーマでwordpress 404ページを使用できるようにします。内容は次のとおりです。

<*>

お役に立てば幸いです。これは私にとってこれまで非常にうまく機能しています。

-Rob

更新:使用した経験に関するブログ記事を投稿しましたIIS7上のWordPress

SERVER['PATH_INFO'] =

ManagedFusion Url Rewriterを使用しています ブログ

ManagedFusion Url Rewriterには、.htaccessを模倣するManagedFusion.Rewriter.rulesというファイルが必要です。正しく動作させるには、かなり試行錯誤する必要があったので、現在持っているものを含めます。

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on

#
# Place Rules Below
#

# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]

# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]


# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]

# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

ルールはきれいなURLを処理し、wwwを削除し、以前のブログからいくつかの古いURLをリダイレクトします。

「404.php」というファイルもあります。カスタム404エラーページとして設定していること。これはきれいなURLには必要ありませんが、カスタムテーマでwordpress 404ページを使用できるようにします。内容は次のとおりです。

<*>

お役に立てば幸いです。これは私にとってこれまで非常にうまく機能しています。

-Rob

更新:使用した経験に関するブログ記事を投稿しましたIIS7上のWordPress

SERVER['REQUEST_URI']; include('index.php'); ?>

お役に立てば幸いです。これは私にとってこれまで非常にうまく機能しています。

-Rob

更新:使用した経験に関するブログ記事を投稿しましたIIS7上のWordPress

404ページをindex.phpに変更することで、このトリックを実行できます。サポートしていない場合、プラグインはIISをサポートしていない可能性があります。

xmlがあります&quot; web.config &quot; Apache HTTPDで.htaccessが行うことを行うIISのファイル。 (つまり、静的構成ファイルによってWebサーバー設定をオーバーライドします)。 ASP.NETアプリケーションで広く使用されています。

IIS 7.0のWordPressでカスタムエラーを有効にする これでもうまくいかない場合は、サービスプロバイダーに設定を依頼してみてください。 IIS管理コンソールGUIを介してこの設定を構成できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top