【问题标题】:htacess redirect an external directoryhtaccess 重定向外部目录
【发布时间】:2021-12-19 06:24:12
【问题描述】:

我正在构建一个 Wordpress 站点,我想用 .htaccess 更改外部目录的 url,因为我不希望我的存储库的名称出现在 url 中。

外部目录的url是

“http://localhost:10012/wordpress_externaldirectory/lp/sample”

我想把这个网址改成

“http://localhost:10012/lp/sample”

所以,我在我的 htaccess 文件中写了这个。

RewriteEngine on
RewriteRule ^wordpress-externaldirectory/(.*)$ //$1 [R=301,L]

我希望如果你点击 /lp/sample,你可以访问 /wordpress_externaldirectory/lp/sample",但它不起作用。

有人知道它为什么不工作吗? 提前致谢

【问题讨论】:

  • 因为你做错了。 RewriteRule 的第一个参数是匹配请求 URL 的模式。
  • 啊,我明白了,非常感谢!

标签: wordpress .htaccess url-rewriting


【解决方案1】:

你只走了一半。您只使用“旧”URL 重定向请求。您忘记在内部将请求重写为“新” URL,以将这些请求映射到实际的内部资源...

尝试以下方法:

RewriteEngine on
RewriteRule ^/?wordpress-externaldirectory/(.*)$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} !^/wordpress-externaldirectory/
RewriteRule ^ /wordpress-externaldirectory%{REQUEST_URI} [L]

【讨论】:

  • 好的,所以它从“localhost:10012/lp/sample”重定向到“localhost:10012/wordpress_externaldirectory/lp/sample”我想知道是否可以只在内部映射网址?我想从新的 url 中删除 /wordpress_externaldirectory 部分
  • 就像我点击“localhost:10012/lp/sample”时一样,我希望 url 指向“localhost:10012/wordpress_externaldirectory/lp/sample”,但仍然保留 url
  • WordPress 本身有 PHP 来规范化 URL。在不触及 WordPress 设置的情况下实施重写规则不太可能奏效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多