我正在尝试一些我认为非常简单的方法来屏蔽我的url,但似乎无法使其正常工作。我希望能够链接到我的img标签中的图像,而不必键入完整的url。
i、 e。
Current url: http://server.com/wp-content/themes/standard/images/img.jpg
or
<img src = "http://server.com/wp-content/themes/standard/images/img.jpg" />
然而,在我的页面上,我只想
<img src="http://server.com/images/img.jpg" />
然而,在我的localhost上似乎什么都不起作用。我正在windows 7机器上运行Apache服务器。我正在尝试使用。htaccess可以执行我上面提到的操作。这是我的。htaccess文件位于我的网站根目录中。
更新:我尝试了下面的Zweibumen建议,但似乎不起作用。然后我尝试了Geerts的建议,并将重写方法添加到我的misc中。我的管理文件夹的php。然后我转到我的永久链接页面,点击保存。这样做的结果意味着我的。htaccess文件夹已重写,其生成的输出如下。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteRule ^css/(.*) /wp-content/themes/standard/css/$1 [QSA,L]
RewriteRule ^js/(.*) /wp-content/themes/standard/js/$1 [QSA,L]
RewriteRule ^images/(.*) /wp-content/themes/standard/images/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
但是,我仍然无法导航到我的图像文件夹,例如:
http://localhost/images/myimage.jpg.
我得到的只是一个找不到的页面。Joshua的建议非常有效,但我希望将其与屏蔽图像URL结合使用。
是否还有其他我可能做错的事情,或者应该检查一下?
更新时间:
对于任何阅读本文的人来说,我只是再次尝试,它使用了Geerts和Joshuas方法的组合。我的Firefox浏览器似乎一直在缓存页面,这让我觉得不是这样。
我之所以这么做,是因为我把它放在了。htaccess文件是指每次我转到permalinks管理页面时,该文件都会被覆盖,因此我不会无意中覆盖该文件。我想我可以把它关掉,但不知道怎么做。这三个答案都在一定程度上有所帮助。
最合适的回答,由SO网友:Geert 整理而成
查看Roots WordPress Theme. 它们似乎能完全满足您对URL的需求。
下面是他们roots-htaccess.php 文件:
add_action( \'generate_rewrite_rules\', \'roots_add_rewrites\' );
function roots_add_rewrites($content) {
$theme_name = next( explode( \'/themes/\', get_stylesheet_directory() ) );
global $wp_rewrite;
$roots_new_non_wp_rules = array(
\'css/(.*)\' => \'wp-content/themes/\' . $theme_name . \'/css/$1\',
\'js/(.*)\' => \'wp-content/themes/\' . $theme_name . \'/js/$1\',
\'img/(.*)\' => \'wp-content/themes/\' . $theme_name . \'/img/$1\',
);
$wp_rewrite->non_wp_rules += $roots_new_non_wp_rules;
}
注意:如果您可以在
.htaccess
文件,正如Zweibumen的回答一样,您应该选择该解决方案,因为它很可能更优化。