【问题标题】:WordPress and CodeIgniter htaccessWordPress 和 CodeIgniter htaccess
【发布时间】:2020-12-08 14:56:01
【问题描述】:

我有一个带有 WordPress 的站点,例如 http://example.com/CodeIgniter 在子目录中,例如 http://example.com/drinking-water-database/

CodeIgniter URL http://example.com/drinking-water-database/developer 工作正常。 我想从 URL 中删除 drinking-water-database。表示http://example.com/developer 将显示http://example.com/drinking-water-database/developer 的内容。我已经写了 htaccess 但它不工作。

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^developer
RewriteRule "^developer/(.*)/$" "drinking-water-database/index.php?/developer/$1" [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress

我已经尝试了所有可能的模式。即使我只尝试了重定向规则来使开发人员链接与波纹管 htaccess 一起使用。但是http://example.com/developer 显示的是 404。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule "^developer/(.*)/$" "drinking-water-database/index.php?/developer/$1" [L,R=301]
</IfModule>

【问题讨论】:

  • 嗯,developer 显然与^developer/(.*)/$ 的模式不匹配,这实际上让您感到惊讶吗?
  • 我尝试了不同的模式。例如:RewriteRule developer "drinking-water-database/index.php?/developer/ [L]" drinking-water-database/index.php?/developer/RewriteRule (.*) "drinking-water-database/index.php?/developer/" [L]
  • 您为什么要尝试进行外部重定向?如果您希望浏览器地址栏中的 URL 停留/developer/,那么这需要进行内部重写。
  • 如果不尝试专门重写此内容,http://example.com/drinking-water-database/index.php?/developer/ 是否会首先显示所需的内容?
  • 我正在尝试进行内部重定向。 http://example.com/drinking-water-database/index.php?/developer/ 这个 URL 也是 CodeIgniter 的有效 URL。

标签: php wordpress .htaccess codeigniter


【解决方案1】:

你可以用这个检查:

替换

RewriteRule "^developer/(.*)/$" "drinking-water-database/index.php?/developer/$1" [L,R=301]  

RewriteRule (.*) "drinking-water-database/index.php?/$1" [L]

【讨论】:

    猜你喜欢
    • 2012-02-03
    • 2020-12-25
    • 1970-01-01
    • 2012-03-17
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多