programing

워드프레스용 IIS7에서 URL 다시쓰기

megabox 2023. 10. 21. 10:18
반응형

워드프레스용 IIS7에서 URL 다시쓰기

IIS7과의 공유 호스팅과 PHP 지원을 사용하고 있습니다.저는 "예쁜 urls"(removing index.php)로 워드프레스 블로그를 운영하려고 합니다.호스팅 공급자가 URL Rewrite 모듈 설치를 원하지 않아 해당 옵션을 사용할 수 없습니다.permalink URL에서 index.php를 제거하고 404 페이지를 index.php로 변경하는 워드프레스용 플러그인을 찾았습니다...그것도 안 되네요.

저는 ASP를 위한 URL 개서에 익숙합니다.NET 웹사이트인데 PHP는 어떻게 해야 할지 모르겠어요.호스팅 설정이 ASP를 지원하는 것 같습니다.NET과 PHP가 동시에 진행되므로 ASP를 통해 리라이트 코드를 실행할 수 있을 것 같습니다.NET, 하지만 어떻게 해야할지 모르겠어요.

이것에 대한 경험이 있거나 최선의 접근 방법에 대한 아이디어가 있는 사람이 있습니까?만약 어떤 것이 저를 올바른 방향으로 인도하거나 제가 직접 알아내면, 저는 필요한 다른 사람들을 위해 기꺼이 여기에 코드를 공유할 것입니다.

Managed를 사용하고 있습니다.Fusion Url Rewriter와 내 블로그커스텀 404 오류 페이지

관리됨Fusion Url Rewriter에 Managed라는 파일이 필요합니다.퓨전..htaccess를 모방하는 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 에러 페이지로 설정한 "404.php" 파일도 있습니다.이것은 예쁜 URL에는 필요하지 않지만, 사용자 지정 테마에서 프레스 404 페이지라는 단어를 사용할 수 있습니다.내용은 다음과 같습니다.

<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>

도움이 되었으면 좋겠습니다.그것은 지금까지 저에게 아주 잘 작동하고 있습니다.

-롭

업데이트: 방금 IIS7에서 WordPress를 사용한 경험에 대한 블로그 글을 올렸습니다.

제안해 주신 모든 분들께 감사드립니다.

제 호스트가 IIRF를 설치하게 되었는데 정말 매력적이었습니다.쓰기 규칙에는 IsapiRewrite4.ini라는 파일이 있습니다.URL에서 index.php 없이 Wordpress 설치를 실행하려면 다음을 추가하기만 하면 됩니다.

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

첫 번째 줄은 sitemap.xml 파일에 대한 요청을 허용합니다.두 번째 줄은 URL에서 index.php 제거를 처리합니다.성능적인 면에서도 괜찮을 것 같은데, 페이지 반응이 느린 문제는 전혀 보지 못했습니다.

이것이 비슷한 기능을 필요로 하는 다른 사람에게 도움이 되기를 바랍니다.

404페이지를 index.php로 바꾸면 효과가 있습니다.그렇지 않으면 플러그인이 IIS를 지원하지 않을 수 있습니다.

IIS에는 .htaccess가 Apache HTTPD에서 수행하는 작업을 수행하는 xml "web.config" 파일이 있습니다(즉, 정적 구성 파일로 웹 서버 설정을 재정의함).ASP에서 널리 사용됩니다.NET 적용.

IIS 7.0에서 WordPress에서 사용자 지정 오류 활성화를 읽어 주십시오. 이 방법으로도 작동하지 않으면 서비스 공급자에게 설정을 요청할 수 있습니다.IIS Management Console GUI를 통해 이 설정을 구성할 수 있습니다.

언급URL : https://stackoverflow.com/questions/401744/url-rewrite-on-iis7-for-wordpress

반응형