【问题标题】:XAMPP relative URLs working on WordPress home but not pagesXAMPP 相对 URL 可在 WordPress 主页上工作,但不能在页面上工作
【发布时间】:2017-03-30 17:30:49
【问题描述】:

我在 tektonpress.piconmedia.com 上有一个运行正常的测试站点。

我在本地版本的相对 URL 和图像方面遇到了一些问题。

我安装了 XAMPP,将数据库的副本恢复到我的本地计算机,并复制了 FTP 文件。更新 wp-config.php 后,几乎一切正常。这包括在我的样式表中使用相对 URL 的图像。

我的问题是我尝试通过 HTML 加载的一些图像。它们在主页上正确显示,但不能从其他页面显示。

例如,以下 HTML 适用于 localhost/tektonpress/,但不适用于 localhost/tektonpress/editing/:

<img src="resources/img/logo-white.png" alt="Tekton Press logo">

这是一个图像不工作时的示例:

Example from page

有问题的图像位于 C:\xampp\htdocs\tektonpress\resources\img\logo-white.png

当我在 Chrome 中检查元素时将鼠标悬停在 URL 上时,我看到的是:

One layer too deep

我尝试在路径的前面添加一个斜杠,如下所示:

<img src="/resources/img/logo-white.png" alt="Tekton Press logo">

不幸的是,页面最终在 /localhost/resources/img/logo-white.png 中查找图像。

我在这上面花了几个小时都没有运气。我以为我终于在 stackoverflow.com/questions/7823260/xampp-relative-urls-not-working-correctly 找到了一个简单(但可能需要大量维护)的解决方案,但最后却出现了服务器错误。

这是我的 .htaccess 文件的内容:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /tektonpress/

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /tektonpress/index.php [L]

</IfModule>

有什么建议吗?

【问题讨论】:

    标签: php wordpress apache .htaccess


    【解决方案1】:

    尝试使用get_template_directory_uri().'/resources/img/logo-white.png'

    它应该工作。正如我假设的资源是在你的主题目录的基础。

    【讨论】:

    • 试过&lt;img src="&lt;?php echo get_template_directory_uri(); ?&gt;resources/img/logo-white.png" alt="Tekton Press logo" /&gt; 但看起来主题提供程序(我正在使用论文)阻止了文本块中的 PHP 代码。我将通过他们的支持网站调查 XAMPP 问题并报告。
    • Saroj,几乎做到了。由于我使用的是论文,我安装了Tim Milligan's T2 PHP Box。我的图片实际上在主题目录的上方,所以我改用了:&lt;img src="&lt;?php echo get_bloginfo('url'); ?&gt;/resources/img/logo-white.png" alt="Tekton Press logo" /&gt; 谢谢!
    【解决方案2】:

    我知道这不是什么大问题,但你试过了吗:

    <img src="/tektonpress/resources/img/logo-white.png" alt="Tekton Press logo">
    

    应该让你正确拉取图像。

    【讨论】:

    • 感谢您的建议。没有骰子。将鼠标悬停在 Chrome Inspect 中的元素上会返回“localhost/tektonpress/editing/tektonpress/resources/img/…
    • RewriteRule . /tektonpress/index.php [L] 更改为RewriteRule . /index.php [L]
    • 那里也没有运气。 localhost/tektonpress 加载得很好,但是尝试导航到 localhost/tektonpress/editing 之类的页面只会将我发送到 localhost/dashboard。
    • 好的,抱歉,我帮不上忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 2020-10-27
    相关资源
    最近更新 更多