0

すべてindex.phpを介して実行されるフロントエンドとバックエンドを備えたWebサイトがあります。バックエンドにアクセスするには、http://www.mysite.com/Adminにアクセスします。これは引き続き index.php を介して実行されますが、データベースに接続して正しいディレクトリに移動します。バックエンドは、サイト上で収集された寄付情報を管理します。

フロントエンドを WordPress に変更したいが、元のデータベースで寄付情報を収集し、バックエンドから表示したい。

すべてのコードを書き直すのではなく、mod-rewrite を使用して WordPress ファイルを別のディレクトリに配置する方法はないかと考えていました。このように、/Admin を最初に含むリクエストは元の index.php を通過し、その他のリクエストは WordPress のディレクトリにリダイレクトされます。

私はもともと試しました:

RewriteCond %{REQUEST_URI} !^/Admin
RewriteRule ^(.*)$ gpf/$1 [L]

しかし、/Admin を要求すると、404 エラーが返されます。

助けてくれてありがとう。

これは完全な .htaccess ファイルです

RewriteEngine On
Options -Indexes

# Serve 'gate' as php
<Files gate>
    SetHandler application/x-httpd-php
    AcceptPathInfo On
</Files>

FileETag MTime Size
AddCharset UTF-8 .xml

AddType video/mp4  mp4 m4v
AddType audio/mp4  m4a
AddType video/ogg  ogv
AddType audio/ogg  ogg oga
AddType video/webm webm

# redirect all domains (.net, .com, .biz, etc) to .org
RewriteCond %{HTTP_HOST} !^www\.mysite\.org$ [NC]
RewriteRule ^(.*)$ http://www.mysite.org/$1 [R=301,L]

# Route search
RewriteRule ^search$ /search/ [R,NC,L]

RewriteCond %{REQUEST_URI} !^/Admin
RewriteRule ^(.*)$ gpf/$1 [L]

# Route domain plus slash correctly
RewriteRule  ^$ /gate/ [L]

# All requests: serve _gate_ as php. 1st arg is requested URL qs preserved
RewriteRule ^([0-9A-Z].*) /gate/$1 [QSA,L]
RewriteRule ^rss\.xml /gate/rss.xml [QSA,L]

# PHP directives - should comment out on production server
php_value display_errors 1
php_value display_startup_errors 1

AddOutputFilterByType DEFLATE text/html application/x-javascript text/css text/javascript text/plain


<IfModule mod_expires.c>
ExpiresActive On

# Manually change filenames for static images. CMS changes names in dyn
ExpiresByType image/gif "access plus 9 months"
ExpiresByType image/jpg "access plus 9 months"
ExpiresByType image/jpeg "access plus 9 months"
ExpiresByType image/png "access plus 9 months"

# Rare changes. manually change filename

ExpiresByType image/x-icon "access plus 9 months"
ExpiresByType image/vnd.microsoft.icon "access plus 9 months"

# PDFs should never change. CMS renames in dyn
ExpiresByType application/pdf "access plus 6 months"
ExpiresByType application/x-pdf "access plus 6 months"

# Frequent changes. ASFU dynamic rename
ExpiresByType text/css "access plus 6 months"
ExpiresByType text/javascript "access plus 6 months"
ExpiresByType application/x-javascript "access plus 6 months"
</IfModule>
4

1 に答える 1

0

追加の条件を追加してみてください:

RewriteCond %{REQUEST_URI} !^/Admin
RewriteCond %{REQUEST_URI} !^/gate
RewriteRule ^(.*)$ /gpf/$1 [L]

そして、すべてのルールの後にルールを移動し/gate/ます。

于 2012-09-10T00:25:18.987 に答える