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 的流量引导到另一个

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

我自己的 IP 地址正在替换 localhost 调用,以便我可以访问该站点。

基本上我正在寻找的是这两个的组合,它将为我从我的 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 回答