【问题标题】:Blog Page 404 - regular expression for rewrite needs fix博客页面 404 - 用于重写的正则表达式需要修复
【发布时间】:2014-02-21 23:45:19
【问题描述】:

我有一个正则表达式令人头疼的问题,并且真的可以使用了解正则表达式的人的一些建议。我下面的 URL 重写规则将 /blog/customurl 的 URL 请求重写为 /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 会拉出博客主页。想法?

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

【问题讨论】:

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


    【解决方案1】:

    你快到了。试试这个:

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

    这只是说如果 URL 是 /blog/blog/,则转到 /blog/index.php(而 [L] 表示“不再处理任何规则”)。

    【讨论】:

    • 谢谢,我会试试这个!我想这应该高于另一个 RewriteRule,而不是低于它......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 2014-02-16
    • 1970-01-01
    • 2020-01-23
    • 2016-04-30
    • 2012-07-16
    相关资源
    最近更新 更多