2014-02-07 74 views
1

我承认干扰,我的.htaccess /正则表达式是我在游戏发展的薄弱环节。这是一个问题,特别是今天。根网站的.htaccess与WordPress

RewriteEngine on 
RewriteRule ^$ index.php [L] 
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|xmlpdf\.cfm|public|dynamic|googlead5e4138365a1f11.html|sitemap.xml) 
RewriteRule ^(.*)$ index.php/$1 [L] 
Options -Indexes 

他们希望在/的public_html /库存安装WordPress:

我有在ASP客户的根网站上的public_html访问的应用如下。显然,.htaccess的递归性质造成了巨大的冲突。问题是,我不完全确定如何解决这种性质的冲突。不是在这里,任何人都需要检讨,但默认WP的.htaccess是:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

我希望有人能告诉我怎么放弃根文件夹对WordPress的子文件夹一阵绞痛。

谢谢蕉。

回答

1

这应该是根的.htaccess:

Options -Indexes 
RewriteEngine on 

# skip WP dir 
RewriteRule ^inventory(/|$) - [L,NC] 

RewriteRule ^$ index.php [L] 

RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|xmlpdf\.cfm|public|dynamic|googlead5e4138365a1f11.html|sitemap.xml) 
RewriteRule ^(.*)$ index.php/$1 [L] 

这应该是WP /inventory/.htaccess

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /inventory/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 
</IfModule> 
+1

真棒,谢谢。这将在未来有所帮助。你能解释RewriteRule ^清单(/ | $) - [L,NC]控件是如何工作的吗?这看起来像开始 - 库存 - 斜杠 - 结束字符串 - 最后 - 大小写不敏感。我不知道为什么它会导致库存目录在处理中被忽略。基本上,我没有线索,但我真的很想一个:) – Imperative

+0

雅肯定。 'NC'用于忽略大小写匹配。正则表达式是'^ inventory(/ | $)',这意味着匹配URI以'inventory'开头,后面跟着'/'OR输入结尾。所以它会匹配任何'/库存/库存/,/库存/什么的,/ INVENTORY'等'-'是不采取行动,如果任何那些比赛被发现。 – anubhava

+0

好吧,你基本上写了一个没有条件的规则,并且没有采取任何行动? – Imperative