旧网站有以这种形式的网址:
www.oldwebsite.com/something-d801.htm
or www.oldwebsite.com/something-something-806.htm
我想在最后一个短划线后删除部分,因为没有最后一部分我有与新网站(www.newwebsite.com/something
)相同的网址。我宁愿在php路由器中这样做,但我认为htaccess版本总体来说更合适。
我想应该有类似于regexp的东西,但我发现的只是在最后一次斜线后删除所有内容的行:
您可以使用
sed -e 's/\(.*\)\/[^\/]*/\1/g'
但是因为我对htaccess了解不多,所以我不知道哪条斜线应该在这一行中用破折号表示。
此外,这是我目前的htaccess:
SetEnv APPLICATION_ENV development
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [L,R]
RewriteRule ^$ public/ [L,QSA]
RewriteRule ^(.+)$ public/$1 [L,QSA]
# EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 7 days"
</IfModule>
FileETag MTime Size
# EXPIRES CACHING ##
答案 0 :(得分:1)
这应该相当简单,将其添加到第一个# EXPIRES CACHING ##
:
RewriteCond %{REQUEST_URI} html?$
RewriteRule ^(.+)-([^-]+)$ $1 [L,QSA]
答案 1 :(得分:0)
万一你打开awk:
grep
Awk解决方案:
echo $url
www.oldwebsite.com/something-something-806.htm