0

私は通常、このhtaccessファイルを使用して、ExpressionEngineのURLからindex.phpを削除します。

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

AcceptPathInfo On

Options -Indexes

<IfModule mod_rewrite.c>
RewriteEngine On

Options +FollowSymLinks

# Looks for files and directories that do not exist
# and provide the segments to the index.php file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^/index.php
RewriteCond $1 !.(css|js|png|jpe?g|gif|ico)$ [NC]
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>  

これはうまく機能しますが、このサイトを本番環境に移行する前に、このhtaccessファイルを介して指定されたURLへのすべてのトラフィックを別のURLに転送しています。

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
RewriteRule ^(.*)$ http://www.anotherdomain.com/ [R=301,NC]

私自身のIPアドレスは、サイトにアクセスできるようにlocalhost呼び出しを置き換えています。

基本的に私が探しているのは、これら2つの組み合わせであり、URLからindex.phpを削除しますが、それでも他のすべてのユーザーをリダイレクトします。

ありがとう、スティーブン

4

1 に答える 1

0

これがうまく機能することがわかりました:

RewriteEngine on

# If your IP address matches any of these - then dont re-write
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1 
RewriteRule ^(.*)$ http://www.anothersite.com/ [R=302,L]


# do not rewrite links to the assets and theme files
RewriteCond $1 !^(assets|themes|images)

# do not rewrite for php files in the document root, robots.txt etc
RewriteCond $1 !^([^\..]+\.php|robots\.txt|crossdomain\.xml)

# but rewrite everything else
RewriteRule ^(.*)$ index.php/$1 [L]
于 2012-11-19T02:08:54.870 に答える