删除部分网址

时间:2013-04-01 16:25:32

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

http://website.com/wp-content/uploads/a87ff.gif

如何进行mod重写以将其更改为

http://website.com/a87ff

htaccess看起来像这样

# BEGIN WordPress
# END WordPress


# BEGIN wtwp_cache
# END wtwp_cache

# BEGIN wtwp_security
# END wtwp_security

3 个答案:

答案 0 :(得分:0)

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^website\.com
RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)$
RewriteRule ^/? /wp-content/uploads/%1.gif [NC]

现在,试试吧!但它尚未经过测试,因为我在移动设备上。 ((;与此代码的第二版不同。

答案 1 :(得分:0)

要将请求http://website.com/wp-content/uploads/a87ff.gif重定向到http://website.com/a87ff,您必须捕获所需的部分并在替换中使用

RewriteEngine on
RewriteRule ^wp-content/uploads/(.+?)\.gif$ /$1 [R,L]

答案 2 :(得分:0)

尝试一下:

RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads/%{REQUEST_URI}.gif -f
RewriteRule (.*) /wp-content/uploads/$1.gif [L]

让我们一起来看看你发生了什么:

RewriteCond - 使用此条件,我们正在检查所请求的文件是否确实存在于适用的文件夹中。因此,如果您输入/test-image作为URI,则会检查wp-content/uploads/test-image.gif是否存在。

RewriteRule - 现在,如果文件确实存在,我们将默默地将其传递给实际文件。换句话说,我们将让Apache加载存在的文件,而不更改用户可见的URI。

在您的情况下:

如果我们输入:http://website.com/a87ff

服务器将加载:http://website.com/wp-content/uploads/a87ff.gif