有关重写URL的替代方法的任何想法?

问题描述 投票:-2回答:1

目前,我使用社区开源软件。一切都很好。我的问题不是什么大问题,它不是崩溃或停止我的网站的错误。这并不可怕。只是我想知道更多,因为我尝试了太多不同的方式(对于我将在下面讨论的问题),但显然我只是不够好的故障排除者。那么......让我最后解释一下它是什么。我有这样的网址:

https://someexamplewebsitehere.com/forum

我想这样做:

https://someexamplewebsitehere.com/forov

(其中“forov”与我母语中的“论坛”相同)

我希望页面的内容完全相同(镜像)。安装没什么不同。我想重写一下。我想成为某种别名,但我没有对网络服务器的权限,我只有cPanel,就是这样。

类似的解决方案在这里解释rewrite a folder name using .htaccess但显然,它不适用于我的网站。

默认CMS .htaccess文件如下所示:

Options +FollowSymLinks
RewriteEngine On

AddEncoding gzip .gz
AddEncoding gzip .gzip
<FilesMatch "\.(js.gz|js.gzip)$">
  ForceType text/javascript
</FilesMatch>
<FilesMatch "\.(css.gz|css.gzip)$">
  ForceType text/css
</FilesMatch>


RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} !/ow_updates/index\.php
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} !/ow_cron/run\.php
RewriteCond %{REQUEST_URI} !/e500\.php
RewriteCond %{REQUEST_URI} !/captcha\.php
#RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.xml|\.feed|robots\.txt|\.raw|/[^.]*)$  [NC]
RewriteCond %{REQUEST_FILENAME} (/|\.php|\.html|\.htm|\.xml|\.feed|robots\.txt|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php

而且我不想在论坛插件中进行自定义修改,因为在插件更新的情况下我会丢失这些修改。如果可能,我想重写URL。

我尝试了很多变种。有任何想法吗?

.htaccess url hyperlink url-rewriting
1个回答
0
投票

你可以像这样写。

RewriteRule ^forum/(.*)$ /forov/$1 [R=301,NC,L]

这就是我将其用于CMS客户端的方式。

RewriteEngine On
RewriteCond %{HTTP} off
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^forum/(.*)$ /forov/$1 [R=301,NC,L]

还使用:

Options +FollowSymlinks
Options -Indexes

如果所有其他方法都失败了,如果它只是那个页面,你可以制作一个假的页面并使用301重定向,这基本上说这个页面是同一页面,但现在就在这里。这是将重定向用于其他地方的实际页面的正确方法,您不希望丢失页面排名并通知searchbots。

即yoursite.com/forum

<?php 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.YourWebsite.com/forov"); 
?>
© www.soinside.com 2019 - 2024. All rights reserved.