博客页面404 - 重写的正则表达式需要修复

时间:2014-01-29 21:56:09

标签: regex wordpress .htaccess mod-rewrite url-rewriting

我有一个正常的表达头脑,可以真正使用一些知道正则表达式的人的建议。我的网址重写规则将 / blog / customurl 的网址请求重写为 /blog/index.php/customurl - 这适用于Wordpress永久链接。

Rewrite Engine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/blog/(?!index.php)(?!wp)([^\.]*)$ /blog/index.php/$1 [I]

现在我还需要一个单独的规则来重写 / blog / blog / (没有任何结尾) /blog/index.php 不影响现有规则。立即请求 / blog / blog / 404,但在地址栏中手动添加index.php会拉出博客主页。想法?

FYI在这种情况下,我无法使用/ blog /中的.htaccess设置特定于文件夹的重写规则。我也不能使用RewriteBase,所以我真的希望有一个解决方案,用正则表达式从根文件夹中解决这个问题。

1 个答案:

答案 0 :(得分:1)

你几乎就在那里。试试这个:

RewriteRule ^/blog/?$ /blog/index.php$1 [L]

这只是说如果网址为/blog/blog/,请转到/blog/index.php[L]表示"不要处理任何网址更多规则")。